Sie können das nicht tun; C # -Initialisierer sind eine Liste von Name = Wert-Paaren. Siehe hier für Details: Ссылка
Sie müssen den Block if
in die folgende Zeile verschieben.
Wie bereits erwähnt, kann dies nicht innerhalb eines Initialisierers durchgeführt werden. Ist es akzeptabel, der Eigenschaft nur den Wert Null zuzuweisen, anstatt sie überhaupt zu setzen? Wenn ja, können Sie den Ansatz verwenden, auf den andere hingewiesen haben. Hier ist eine Alternative, die das erreicht, was Sie wollen und trotzdem die Initialisierersyntax verwendet:
%Vor%Meiner Meinung nach sollte es eigentlich nicht viel ausmachen. Wenn Sie nicht mit anonymen Typen arbeiten, ist die Initialisierersyntax nur ein nettes Feature, das Ihren Code in manchen Fällen aufgeräumter aussehen lässt. Ich würde sagen, gehen Sie nicht aus dem Weg, um es zu verwenden, um alle Ihre Eigenschaften zu initialisieren, wenn es die Lesbarkeit beeinträchtigt. Es ist nichts falsch daran, stattdessen den folgenden Code zu verwenden:
%Vor%Tags und Links c# initializer