2016-09-29 73 views
0

我试图找出如果一个属性是一个自动财产即 public int Foo { get; set; }确定是否一个属性是一个自动财产

瞪了,而在PropertyDeclarationSyntaxIPropertySymbol,但没有发现任何东西。

猜测另一种是评估是否get & set不包含任何语句是一种方式,但它并不感到很优雅的扩展方法。

+2

从技术上讲,没有自动属性。它是编译器变成隐式字段的语法糖。 – Abion47

回答

2

检查PropertyDeclarationSyntax的中的AccessorDeclarationSyntax是否有非空Body

您可以通过查看使用Syntax Visualizer(来自Roslyn SDK扩展)的任何属性声明来查看此内容。

+2

有一个新的属性:'ExpressionBody'。如果已分配,则“Body”为空,但该属性不是“自动属性”。 – Logerfo

相关问题