2016-09-29 18 views
0

であれば、私はプロパティがautoプロパティである場合、すなわち public int Foo { get; set; }は、プロパティがautoプロパティ

を把握しようとしている決定PropertyDeclarationSyntaxIPropertySymbolでしばらく見つめたが、何も見つかりませんでした。

代わりに、get & setに文が含まれていないかどうかを評価する拡張方法がありますが、それは非常にエレガントではありません。

+2

技術的に言えば、自動プロパティはありません。コンパイラが暗黙のフィールドに変わる構文的な砂糖です。 – Abion47

答えて

2

PropertyDeclarationSyntaxAccessorListにあるAccessorDeclarationSyntaxのいずれかがnullでないか確認してください。Body

これは、Roslyn SDK拡張機能の構文ビジュアライザを使用してプロパティの宣言を見ることで確認できます。

+2

新しいプロパティ: 'ExpressionBody'があります。割り当てられている場合、 'Body'はnullですが、プロパティは「auto-property」ではありません。 – Logerfo