であれば、私はプロパティがautoプロパティである場合、すなわち public int Foo { get; set; }
は、プロパティがautoプロパティ
を把握しようとしている決定PropertyDeclarationSyntax
とIPropertySymbol
でしばらく見つめたが、何も見つかりませんでした。
代わりに、get
& set
に文が含まれていないかどうかを評価する拡張方法がありますが、それは非常にエレガントではありません。
であれば、私はプロパティがautoプロパティである場合、すなわち public int Foo { get; set; }
は、プロパティがautoプロパティ
を把握しようとしている決定PropertyDeclarationSyntax
とIPropertySymbol
でしばらく見つめたが、何も見つかりませんでした。
代わりに、get
& set
に文が含まれていないかどうかを評価する拡張方法がありますが、それは非常にエレガントではありません。
PropertyDeclarationSyntax
のAccessorList
にあるAccessorDeclarationSyntax
のいずれかがnullでないか確認してください。Body
これは、Roslyn SDK拡張機能の構文ビジュアライザを使用してプロパティの宣言を見ることで確認できます。
新しいプロパティ: 'ExpressionBody'があります。割り当てられている場合、 'Body'はnullですが、プロパティは「auto-property」ではありません。 – Logerfo
技術的に言えば、自動プロパティはありません。コンパイラが暗黙のフィールドに変わる構文的な砂糖です。 – Abion47