Nie, nie ma wbudowanego w możliwość ustawienia wartości nieruchomości z metadanymi. Możesz użyć jakiejś fabryki, która zbuduje instancje klasy z refleksją, a następnie ustawi wartości domyślne. Ale w skrócie, musisz użyć konstruktorów (lub selektorów pól ..., które są podnoszone do konstruktora). Aby ustawić wartości domyślne.
Jeśli masz kilka przeciążeń dla swojego konduktora, możesz spojrzeć na constructor chaining.
Korzystanie z C# 6+ jesteś w stanie zrobić coś takiego ...
public string MyValue { get; set; } = "My Default";
Och, to dostaje więcej zabawy, bo ludzie jeszcze o coś takiego ...
public string MyValue {
private string _myValue;
get { return _myValue ?? "My Default"; }
set { _myValue = value; }
}
... Zaletą tego jest to, że możesz kontrolować zakres pola tak, aby był dostępny tylko w kodzie właściwości, abyś nie musiał się martwić o nic innego w twojej klasie, grającego ze stanem bez użycia gettera/settera.
Czy jest miejsce, w którym mogę zagłosować na tę funkcję lub coś w tym stylu? – BrunoLM
Możesz znaleźć coś na stronie connect.microsoft.com. –
eek ... Właśnie znalazłem to na CodeProject. Używa refleksji do ustawienia wartości domyślnych po skonstruowaniu obiektu. http://www.codeproject.com/KB/dotnet/AutoPropsDefaultValues.aspx –