mfl*_*din 8 .net c# asp.net resharper automatic-properties
访问具有支持字段的属性之间是否有任何区别
private int _id;
public int Id
{
get { return _id; }
set { _id = value; }
}
Run Code Online (Sandbox Code Playgroud)
与自动财产?
public int Id { get; set; }
Run Code Online (Sandbox Code Playgroud)
我问的原因是,当让ReSharper将属性转换为自动属性时,它似乎扫描了我的整个解决方案,或者至少扫描了所有的aspx文件.
我看不出有什么理由说为什么两人在课外都应该有任何区别.在那儿?
Nat*_*ate 12
编译器会自动为自动属性生成支持字段,所以不,不应该有任何区别.
ReSharper正在扫描所有文件,因为如果您Partial定义了类,则可能使用支持字段而不是公共属性,即使代码存在于物理上不同的文件中.
例如:
// MyClass.cs
public partial class MyClass
{
int _id;
public int ID { get { return _id; } set { _id = value; } }
public MyClass(int identifier)
{
ID = identifier;
}
}
// MyClass2.cs
public partial class MyClass
{
public void ChangeID(int newID)
{
_id = newID;
}
}
Run Code Online (Sandbox Code Playgroud)
ReSharper必须扫描所有文件,因为它无法知道可能在哪里定义部分类.