Ho alcune pagine, ognuna con una proprietà denominata Data
. In un'altra pagina che sto impostando questi dati in questo modo:Utilizzo dell'operatore null-condizionale sul lato sinistro di un'assegnazione
if (MyPage1 != null)
MyPage1.Data = this.data;
if (MyPage2 != null)
MyPage2.Data = this.data;
if (MyPage3 != null)
MyPage3.Data = this.data;
C'è la possibilità di utilizzare l'operatore null-subordinato MyPage
? Sto pensando a qualcosa di simile:
MyPage?.Data = this.data;
Ma quando scrivo in questo modo, ho il seguente errore:
The left-hand side of an assignment must be a variable, property or indexer.
Lo so che è perché MyPage
potrebbe essere nullo e la mano sinistra il lato non sarebbe più una variabile.
Non è che non posso usarlo come ho già ma voglio solo sapere se c'è qualche possibilità di usare l'operatore condizionale nullo su questo.
Dovreste essere in grado di creare un metodo 'SetData' e fare' MyPage1? .SetData (this.data); ' –
Possibile duplicato di [Perché C# 6.0 non consente di impostare le proprietà di una struttura nullable non nulla quando si utilizza l'operatore di propagazione null?] (Http://stackoverflow.com/questions/31035022/why-c-sharp-6-0-doesnt-let-to -set-properties-of-a-non-null-nullable-struct-when) –
Operatore di propagazione/condizionale null per accedere alle proprietà, non impostarle. Quindi non puoi usarlo. –