Không, không có xây dựng trong khả năng thiết lập giá trị của một tài sản với siêu dữ liệu. Bạn có thể sử dụng một nhà máy của một số loại mà sẽ xây dựng trường hợp của một lớp học với sự phản ánh và sau đó có thể thiết lập các giá trị mặc định. Nhưng trong ngắn hạn, bạn cần phải sử dụng các nhà xây dựng (hoặc lĩnh vực setters ... được nâng lên constructor.) Để thiết lập các giá trị mặc định.
Nếu bạn có một số tình trạng quá tải cho cuộn dây bạn có thể muốn xem constructor chaining.
Sử dụng C# 6 + bạn có thể làm điều gì đó như thế này ...
public string MyValue { get; set; } = "My Default";
Ồ, nó được nhiều niềm vui hơn bởi vì mọi người thậm chí còn yêu cầu một cái gì đó như thế này ...
public string MyValue {
private string _myValue;
get { return _myValue ?? "My Default"; }
set { _myValue = value; }
}
... lợi thế là bạn có thể kiểm soát phạm vi của trường để chỉ được accesible trong mã tài sản, do đó bạn không phải lo lắng về bất cứ điều gì khác trong lớp học của bạn chơi với nhà nước mà không sử dụng getter/setter.
Nguồn
2010-06-18 16:32:26
Có nơi nào tôi có thể bỏ phiếu cho đối tượng địa lý này hay đại loại như vậy không? – BrunoLM
Bạn có thể tìm thấy nội dung nào đó trên connect.microsoft.com. –
eek ... Tôi vừa tìm thấy điều này trên CodeProject. Nó sử dụng sự phản chiếu để thiết lập các giá trị mặc định sau khi đối tượng đã được xây dựng. http://www.codeproject.com/KB/dotnet/AutoPropsDefaultValues.aspx –