Nó có thể trông giống như thuộc tính trừu tượng hoặc thuộc tính từ giao diện nhưng nó cách xa nó. Để khuyến khích các nhà phát triển sử dụng các thuộc tính (vì chúng là một thực hành tốt nhất vì nhiều lý do), Microsoft đã quyết định đưa tính năng này vào C# 3 để cho phép bạn khai báo các thuộc tính dễ dàng hơn.
Dưới đây là cách tiêu chuẩn của việc tạo ra một tài sản:
String foo;
public String Foo
{
get { return this.foo }
set { this.foo = value; }
}
Bây giờ điều này đòi hỏi khá nhiều đánh máy và như các nhà phát triển lười lõi đôi khi chúng ta bị cám dỗ để tạo ra các lĩnh vực công cộng chỉ để tiết kiệm thời gian .
Bây giờ với C# 3 trình biên dịch chúng ta có thể làm điều này:
public String Foo { get; set; }
Trong khi điều này có vẻ hơi lạ, hãy xem xét những công việc mà các trình biên dịch đang làm thay cho bạn. Mã trước đó được biên dịch thành:
[CompilerGenerated]
private string <Foo>k__BackingField;
public string Foo
{
[CompilerGenerated]
get
{
return this.<Foo>k__BackingField;
}
[CompilerGenerated]
set
{
this.<Foo>k__BackingField = value;
}
}
Vì vậy, mặc dù cú pháp có vẻ lạ một chút, bạn vẫn đang tạo thuộc tính chính xác theo cách bạn thường làm.
Nguồn
2009-03-26 20:06:33
Tôi sẽ bỏ phiếu cho bạn để có được một lời giải thích kỹ lưỡng hơn nhưng tôi tất cả ra cho ngày. – TheTXI