Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Dichiara una Set routine di proprietà utilizzata per assegnare un valore a una proprietà.
Sintassi
[ <attributelist> ] [ accessmodifier ] Set [([ByVal value [ As datatype ]])]
[ statements ]
End Set
Parti
attributelist
Opzionale. Vedere Elenco attributi.
accessmodifier
Facoltativo al massimo una delle Get istruzioni e Set in questa proprietà. Può essere uno dei seguenti:
Vedere Livelli di accesso in Visual Basic.
value
Opzionale. Parametro contenente il nuovo valore per la proprietà . Se non viene specificato (ovvero se l'elenco di parametri non è presente o è vuoto), viene definito un parametro implicito denominato value . Il tipo di dati di questo parametro implicito è il tipo di dati della proprietà in cui viene dichiarata questa Set istruzione.
datatype
Obbligatorio se value è presente e Option Strict è On. Non può essere presente se value non viene specificato. Tipo di dati del value parametro. Il tipo di dati specificato deve essere uguale al tipo di dati della proprietà in cui viene dichiarata questa Set istruzione.
statements
Opzionale. Una o più istruzioni eseguite quando viene chiamata la Set routine di proprietà.
End Set
Obbligatorio. Termina la definizione della routine di Set proprietà.
Osservazioni:
Ogni proprietà deve avere una Set routine di proprietà a meno che la proprietà non sia contrassegnata come ReadOnly. La Set routine viene utilizzata per impostare il valore della proprietà .
Visual Basic chiama automaticamente la routine di Set una proprietà quando un'istruzione di assegnazione fornisce un valore da archiviare nella proprietà .
Visual Basic passa un parametro alla Set routine durante le assegnazioni di proprietà. Se non si specifica un parametro per Set, l'ambiente di sviluppo integrato (IDE) usa un parametro implicito denominato value. Il parametro contiene il valore da assegnare alla proprietà . Questo valore viene in genere archiviato in una variabile locale privata e restituito ogni volta che viene chiamata la Get procedura.
Il corpo della dichiarazione di proprietà può contenere solo le routine e Set della Get proprietà tra l'istruzione Property e l'istruzione End Property . Non può archiviare elementi diversi da tali procedure. In particolare, non può archiviare il valore corrente della proprietà. È necessario archiviare questo valore all'esterno della proprietà, perché se viene archiviato all'interno di una delle routine di proprietà, l'altra routine di proprietà non può accedervi. L'approccio consueto consiste nell'archiviare il valore in una variabile Privata dichiarata allo stesso livello della proprietà . È necessario definire una Set routine all'interno della proprietà a cui si applica.
Per impostazione predefinita, la Set routine viene impostata sul livello di accesso della proprietà contenitore, a meno che non venga utilizzata accessmodifier nell'istruzione Set .
Regole
Livelli di accesso misti. Se si definisce una proprietà di lettura/scrittura, è possibile specificare facoltativamente un livello di accesso diverso per la
Getroutine oSet, ma non per entrambi. In questo caso, il livello di accesso della procedura deve essere più restrittivo del livello di accesso della proprietà. Ad esempio, se la proprietà è dichiarataFriend, è possibile dichiarare laSetroutinePrivate, ma nonPublic.Se si definisce una
WriteOnlyproprietà, laSetroutine rappresenta l'intera proprietà. Non è possibile dichiarare un livello di accesso diverso perSet, perché in questo modo verranno impostati due livelli di accesso per la proprietà .
Comportamento
Restituzione da una routine di proprietà. Quando la
Setroutine torna al codice chiamante, l'esecuzione continua seguendo l'istruzione che ha fornito il valore da archiviare.Setle routine property possono restituire utilizzando l'istruzione Return o l'istruzione Exit.Le
Exit Propertyistruzioni eReturncausano un'uscita immediata da una routine di proprietà. Qualsiasi numero diExit Propertyistruzioni eReturnpuò essere visualizzato in qualsiasi punto della procedura ed è possibile combinareExit Propertyistruzioni eReturn.
Esempio
Nell'esempio seguente viene utilizzata l'istruzione Set per impostare il valore di una proprietà.
Class propClass
Private propVal As Integer
Property Prop1() As Integer
Get
Return propVal
End Get
Set(ByVal value As Integer)
propVal = value
End Set
End Property
End Class