Ho appena realizzato che posso accedere ai membri condivisi da istanze di classi (probabilmente questo non è corretto, ma compilare ed eseguire), e anche imparare / scoprire che, posso modificare i membri condivisi, quindi creare una nuova istanza e accedere al nuovo valore del membro condiviso.
La mia domanda è, cosa succede ai membri condivisi, quando ritorna al valore "predefinito" (dichiarazione di classe), quanto è pericoloso farlo? è completamente cattivo? è valido in alcuni casi?.
Se vuoi testare il mio punto ecco il codice (progetto console vb.net) che ho usato per testare i membri condivisi, come puoi vedere / compilare / eseguire, il membro condiviso "x" della classe "Hello" ha valore predefinito stringa "Default", ma in fase di esecuzione lo modifica, e dopo aver creato un nuovo oggetto di quella classe, questo oggetto ha il nuovo valore del membro condiviso.
Module Module1
Public Class hello
Public Shared x As String = "Default"
Public Sub New()
End Sub
End Class
Sub Main()
Console.WriteLine("hello.x=" & hello.x)
Dim obj As New hello()
Console.WriteLine("obj.x=" & obj.x)
obj.x = "Default shared memeber, modified in object"
Console.WriteLine("obj.x=" & obj.x)
hello.x = "Defaul shared member, modified in class"
Console.WriteLine("hello.x=" & hello.x)
Dim obj2 As New hello()
Console.WriteLine("obj2.x=" & obj2.x)
Console.ReadLine()
End Sub
End Module
AGGIORNAMENTO: Innanzitutto, grazie a tutti, ogni risposta fornisce un feedback, suppongo, per rispetto dovrei sceglierne una come "la risposta", non voglio essere offensivo con nessuno , quindi per favore non prendertela così male se non scegliessi la tua risposta.