Hallo Kay,


At 10:13 17.12.2003 +0100, you wrote:
Mir w�rde es ungemein helfen wenn mal jemand ein kleines Beispiel posten
w�rde das die Deklaration der Variablen und einer Funktion oder klasse
in einer separaten Datei umfasst und wie diese dann in aspx und ascx
Dateien eingebunden wird.



Der Unterschied bei der Verwendung von Klassen mit ausschlie�lich statischen Membern ist der, da� du nicht wie gewohnt �ber
Dim MeineVar as New meineKlasse(...)
eine Instanz - also eine Einheit mit allen Membern und der gesamten Funktionalit�t der Klasse - bildest, sondern direkt auf die Klasse und deren Member zugreifst. Wenn du schlie�lich eine neue Instanz deiner Klasse erzeugst, so sind die enthaltenen Werte und Zust�nde schlie�lich nur weil sie in der einen Instanz vorhanden sind in der neuen noch lange nicht gegeben. Diese "Eigenart" - eigentlich Normalit�t in der objektorientierten Programmierung - ist bei den Shared (static in C Sharp) nicht gegeben.
Das Ganze k�nnte folgenderma�en aussehen:


Public Class myClassShared
    Private Shared myMemberName1 As String
    Private Shared myMemberName2 As Object
    Private Shared myMemberName3 As Integer
    Private Shared myMemberName4 As DataTable

    Shared Sub MemberAccess()
        'Irgend ein Code...         '<--

End Sub

    Shared Property MemberName1() As String
        Get
            Return myMemberName1
        End Get
        Set(ByVal Value As String)
            myMemberName1 = Value
        End Set
    End Property

    Shared Property MemberName2() As Object
        Get
            Return myMemberName2
        End Get
        Set(ByVal Value As Object)
            myMemberName2 = Value
        End Set
    End Property

    Shared Property MemberName3() As Integer
        Get
            Return myMemberName3
        End Get
        Set(ByVal Value As Integer)
            myMemberName3 = Value
        End Set
    End Property

    Shared Property MemberName4() As DataTable
        Get
            Return myMemberName4
        End Get
        Set(ByVal Value As DataTable)
            myMemberName4 = Value
        End Set
    End Property


End Class



Ein weiterer wichtiger Unterschied - der warum man sich manchmal dazu entscheidet, Shared - Member zu programmieren - ist der, da� man nicht �ber eine Variable eine Instanz der Klasse bilden muss; im Prinzip �hnlich, wie man es aus VB 6.0 z.B. vom RecordSet kennt.


Viele Gr��e
Lars



www.zoologie-online.de

Lars Berner
Stormcrow-Software
Postfach: 110123
69071 Heidelberg

---
Ausgehende Mail ist zertifiziert virenfrei.
�berpr�ft durch AVG Antivirus System (http://www.grisoft.com/de).
Version: 6.0.551 / Virendatenbank: 343 - Erstellungsdatum: 11.12.2003

Antwort per Email an