Czy dobrze jest zastosować takie podejście do przechowywania listy ciągów tylko do odczytu, na przykład listy pól w ADO.NET.Lista ciągów tylko do odczytu
var list = new System.Collections.ObjectModel.ReadOnlyCollection<string>(
new List<string>(4) { "type", "currency", "date", "amount" });
A może to zbędne rozwiązanie?
Nie, nie używaj tego, ponieważ kolejny kod może po prostu wrócić do 'Listy'; odbicie nie jest wymagane. –
@KevinBrock Nawet jeśli wymagana byłaby refleksja, byłoby zero wysiłku, aby ominąć, zobacz: http://stackoverflow.com/a/1232332/27423 - próba "zablokowania" rozpakowania twojego "tylko do odczytu" opakowania jest gorsza niż bezużyteczny. To zwiększa złożoność (i może koszt runtime) bez dodawania żadnej rzeczywistej wartości. Dokumentuj poprawne użycie twojego API przez system typu statycznego - cokolwiek innego jest bezcelowe. –