Mam kilka stron, każda z właściwością o nazwie Data
. Na innej stronie mam ustawienia te dane tak:Korzystanie z operatora warunkowego zerowego po lewej stronie przypisania
if (MyPage1 != null)
MyPage1.Data = this.data;
if (MyPage2 != null)
MyPage2.Data = this.data;
if (MyPage3 != null)
MyPage3.Data = this.data;
Czy istnieje możliwość, aby użyć operatora null uwarunkowane MyPage
? Mam na myśli coś takiego:
MyPage?.Data = this.data;
Ale kiedy piszę to w ten sposób, pojawia się następujący błąd:
The left-hand side of an assignment must be a variable, property or indexer.
wiem, że to dlatego, MyPage
może być zerowa, a po lewej stronie strona nie będzie już zmienną.
Nie chodzi o to, że nie mogę go używać tak, jak już mam, ale chcę tylko wiedzieć, czy jest jakakolwiek możliwość skorzystania z tego warunkowego operatora.
Powinieneś być w stanie stworzyć metodę 'SetData' i zrobić' MyPage1? .SetData (this.data); ' –
Możliwy duplikat [Why C# 6.0 nie pozwala ustawić właściwości nie zerowej zerowej struktury przy użyciu operatora propagacji zerowej?] (Http://stackoverflow.com/questions/31035022/why-c-sharp-6-0-doesnt-let-to -set-właściwości-o-nie-null-null-struct-when) –
Operator propagacji zerowej/warunkowej służy do uzyskiwania dostępu do właściwości, a nie ich ustawiania. Dlatego nie możesz z niego korzystać. –