Mam trzy klasy (klasa A, klasa B i klasa C), które dziedziczą po interfejsie "IFoo"; jeśli to wykorzystaćJak działa operator wygaszania łańcucha
var fooItem = (request.classAitem ?? (request.classBitem as IFoo ?? request.classCitem))
lub
var fooItem = (request.classAitem ?? request.classBitem ?? request.classCitem as IFoo)
to działa dobrze, ale inne kombinacje nie będzie nawet skompilować:
var fooItem = (request.classAitem as IFoo ?? request.classBitem ?? request.classCitem)
lub
var fooItem = (request.classAitem ?? request.classBitem ?? request.classCitem) as IFoo
Wydaje mi w niektórych przypadkach kompilator implicitl y unboxes klasy potomne do ich interfejsu IFoo, ale w niektórych innych przypadkach nie. Co wy myślicie?
Jakie są typy "classAitem',' classBitem' i 'classCitem'? Proszę pokazać ich definicję. Co to jest "ContactPoint"? Czy to implementuje 'IFoo'? – poke
nie można skompilować, ale z jakim błędem? – Doruk
Wyślij wiadomość [mcve]. –