읽기 전용 목록 또는 수정 가능한 목록을 읽습니다.Net4.0
내가 할 수 있는 것은요.NetApp은 여전히 읽기 전용 목록만 없습니다.이 프레임워크는 왜 이 기능을 부족합니까?도메인 기반 설계에 대한 일반적인 기능 중 하나는 아닙니다.
Java는 C#의 일부 장점 중 하나는 C#) 방법( 목록) 방법( 목록) 방법( 목록) 방법) 방법 중 하나이다.T> 또는 목록 >T>
사용.IEnumerable<T>
질문에 대한 가장 쉬운 해결책입니다.ToList
사용할 수 있으며 복사본을 반환합니다.
를 찾고 있습니다.그것은, 그 이후부터 존재하고 있는 것입니다.NET2.
IList<string> foo = ...;
// ...
ReadOnlyCollection<string> bar = new ReadOnlyCollection<string>(foo);
또는
List<string> foo = ...;
// ...
ReadOnlyCollection<string> bar = foo.AsReadOnly();
그러면 읽기 전용 뷰가 생성되고 래핑된 컬렉션에 대한 변경 내용이 반영됩니다.
인터페이스를 사용하고 싶은 유저희망:NET 4.5 에는, 다음에 의해서 실장되는 범용 인터페이스가 추가되어 있습니다.List<T>
예를들면.
이 명령어는 다음과 비슷하며,Item
인덱서 속성.
프레임워크 내에 이미 있는 Read Only Collection은 어떻습니까?
목록의 가장 일반적인 패턴이 모든 요소를 반복하는 경우,IEnumerable<T>
또는IQueryable<T>
는 읽기 전용 리스트로서도 유효하게 기능합니다.
2.0에서는AsReadOnly
읽기 전용 버전의 목록을 가져옵니다.또는 기존 랩IList
에 있어서ReadOnlyCollection<T>
물건.
시스템의 문제컬렉션오브젝트 모델Read Only Collection?
IEnumerable에 확장 메서드 ToReadOnlyList()를 만듭니다.
IEnumerable<int> ints = new int[] { 1, 2, 3 };
var intsReadOnly = ints.ToReadOnlyList();
//intsReadOnly [2]= 9; //compile error, readonly
확장 방법은 다음과 같습니다.
public static class Utility
{
public static IReadOnlyList<T> ToReadOnlyList<T>(this IEnumerable<T> items)
{
IReadOnlyList<T> rol = items.ToList();
return rol;
}
}
마틴의 대답도 봐.
언급URL : https://stackoverflow.com/questions/984042/read-only-list-or-unmodifiable-list-in-net-4-0
'source' 카테고리의 다른 글
HTML 파일의 JavaScript 위치 (0) | 2022.12.25 |
---|---|
클래스 JSON을 시리얼화 하는 방법 (0) | 2022.12.25 |
"서브쿼리가 두 개 이상의 행을 반환함" 오류 해결 방법 (0) | 2022.12.25 |
webpack-dev-server에 원격으로 연결하면 "Invalid Host header" 메시지가 나타난다. (0) | 2022.12.25 |
Python에서 동적(파라미터화) 단위 테스트를 생성하는 방법은 무엇입니까? (0) | 2022.12.25 |