Ist es eine akzeptable Praxis, Module anstelle von Klassen mit Shared Member Functions in VB.NET zu verwenden?
Ich tendiere dazu, Module zu meiden, weil sie sich wie Überbleibsel von Visual Basic 6.0 anfühlen und nicht mehr so recht hineinzupassen scheinen. Andererseits scheint es keinen großen Unterschied zwischen der Verwendung eines Moduls und einer Klasse mit nur gemeinsam genutzten Mitgliedern zu geben. Ich brauche beides nicht so oft, aber manchmal gibt es Situationen, in denen sie eine einfache Lösung darstellen.
Ich bin neugierig zu erfahren, ob Sie eine Meinung oder Präferenz für die eine oder andere Seite haben.
11 Stimmen
Interessant an Modulen ist, dass die darin deklarierten Methoden und Funktionen standardmäßig die Schutzstufe des Moduls haben, was bedeutet, dass Sie versehentlich Methoden verfügbar machen könnten, wenn Sie vergessen, explizit die Option
Private
Bezeichner. In einer Klasse ist die Standard-Schutzstufe privat, was verwirrend sein kann, wenn man sich dessen nicht bewusst ist.0 Stimmen
ICH BIN SO DANKBAR, DASS ICH DIES GEFUNDEN HABE! Ich habe mir das Hirn zermartert, um herauszufinden, wie
Intellisense
auf so viele andere Methoden und dergleichen zurückgreifen kann, ohne die Klassen explizit zu instanziieren, da ich mehrere Klassen entwickle, die ich devrait global sein, und mehr Erfahrung mit VBA habenGlobal
Attribut, bin ich begeistert zu erfahren, dassModules
sind in der Tat genau das, wonach ich suche.