Czy można wymusić, aby auto-własność korzystała z pola tylko do odczytu?
Mój projekt zawiera dużą liczbę klas o właściwościach, których pole pomocnicze jest zaznaczone tylko do odczytu, ponieważ są one ustawione tylko podczas budowy. Jako styl, lubię korzystać z auto-właściwości, ponieważ eliminuje wiele standardowych kodów i zachęca do korzystania z elementu właściwości, a nie z pola kopii zapasowej. Jednak, gdy używam auto-właściwości, tracę „readonly-ness” mojego zaplecza. Rozumiem, że kompilator / środowisko wykonawcze jest w stanie skorzystać z pewnych ulepszeń wydajności, gdy pole jest zaznaczone w ten sposób, więc chciałbym móc oznaczyć moją właściwość automatyczną jako tylko do odczytu, coś takiego:
<code>[ReadOnly] public string LastName { get; } </code>
zamiast
<code>private readonly string _LastName; public string LastName { get { return _LastName; } } </code>
Czy jest już dostępny jakiś mechanizm, aby to zrobić? Jeśli nie, czy zysk z niestandardowego pola kopii jest naprawdę warty zachodu?
Wydaje się, że ujawnienie pola jako publicznego jest inną opcją. Wydaje się, że niewłaściwe jest ujawnianie pola w ten sposób. to znaczy
<code>public readonly string LastName; </code>