Der Sinlgeton Pattern erlaubt einen schnellen Zugriff auf Klassenmember ohne eine eigene Instanzvariable im Code mitschleppen zu müssen. Besonders geeignet ist diese Methode mit einer Objektinstanz zu verfahren wenn man eine Instanz des Objektes Projektweit benötigt. Die Implementierung gestaltet sich denkbar einfach. Legen Sie ein neues Projekt an und fügen Sie eine Klasse hinzu, nennen Sie diese cFunction. In diese Klasse implementieren wir zu Testzwecken eine Funktion, welche eine Addition ausführen wird. Public Function CalculateSum(ByVal dblValueA As Double, _ ByVal dblValueB As Double) As Double Return dblValueA + dblValueB End Function Im nächsten Schritt erstellen wir in der Klasse eine Private Shared Variable, welche die Objektinstanz darstellen wird. Private Shared mMyFunctionClass As cFunction Um auf diese shared Variable von extern zugreifen zu können, implementieren wir ein Shared Property: Public Shared ReadOnly Property FunctionInstance() As cFunction Get If mMyFunctionClass Is Nothing Then mMyFunctionClass = New cFunction End If Return mMyFunctionClass End Get End Property Dieses Property kümmert sich darum, ob bereits eine Instanz der Klasse vorhanden ist. Ist dies nicht der Fall wird eine neue erstellt. Sie können nun auf die Klassemember von extern folgendermaßen zugreifen, ohne sich jemals wieder um eine explizite Erstellung eines Objektes zu kümmern. Dim dlbMyErgebnis As Double = _ cFunction.FunctionInstance.CalculateSum(10, 20) Ein kleines Beispielprojekt können Sie unter www.visualsoft-net.de in der Rubrik VB.NET herunterladen. Dieser Tipp wurde bereits 14.397 mal aufgerufen. Voriger Tipp | Zufälliger Tipp | Nächster Tipp
Anzeige
Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv Vol.6 (einschl. Beispielprojekt!) Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m. |
sevISDN 1.0 Überwachung aller eingehender Anrufe! Die DLL erkennt alle über die CAPI-Schnittstelle eingehenden Anrufe und teilt Ihnen sogar mit, aus welchem Ortsbereich der Anruf stammt. Weitere Highlights: Online-Rufident, Erkennung der Anrufbehandlung u.v.m. Tipp des Monats April 2024 Skyfloy Chart von Microsoft und dazu noch gratis Tutorial für Microsoft Chart Controls für Microsoft .NET Framework 3.5 sevZIP40 Pro DLL Zippen und Unzippen wie die Profis! Mit nur wenigen Zeilen Code statten Sie Ihre Anwendungen ab sofort mit schnellen Zip- und Unzip-Funktionen aus. Hierbei lassen sich entweder einzelnen Dateien oder auch gesamte Ordner zippen bzw. entpacken. |
||||||||||||||||
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein. |