Ich habe drei Klassen (classA, classB und classC), die von einer Schnittstelle 'IFoo' erben; wenn verwenden dieseWie funktioniert null-collesescing-Operator
var fooItem = (request.classAitem ?? (request.classBitem as IFoo ?? request.classCitem))
oder
var fooItem = (request.classAitem ?? request.classBitem ?? request.classCitem as IFoo)
es funktioniert gut, aber andere Kombinationen werden nicht einmal kompilieren:
var fooItem = (request.classAitem as IFoo ?? request.classBitem ?? request.classCitem)
oder
var fooItem = (request.classAitem ?? request.classBitem ?? request.classCitem) as IFoo
Es scheint mir, In einigen Fällen ist der Compiler implizit y hebt die Child-Klassen auf ihre IFoo-Schnittstelle auf, in einigen anderen Fällen jedoch nicht. Was denkt ihr?
Was sind die Typen 'classAitem',' classBitem' und 'classCitem'? Bitte zeigen Sie die Definition von denen. Was ist ContactPoint? Implementiert das 'IFoo'? – poke
kann nicht kompilieren, aber mit welchem Fehler? – Doruk
Bitte poste ein [mcve]. –