다음을 통해 공유


.NET의 제네릭 인터페이스

이 문서에서는 제네릭 형식의 제품군에서 공통 기능을 제공하는 .NET의 제네릭 인터페이스에 대해 개요를 제공합니다.

제네릭 인터페이스는 데이터 형식의 안전성을 보장하면서, 순서 비교 및 같음 비교를 위한 비제네릭 인터페이스의 안전한 대안이 되며, 제네릭 컬렉션 형식에서 공유하는 기능을 제공합니다. .NET 7에는 숫자와 유사한 형식에 대한 제네릭 인터페이스가 도입되었습니다. 예를 들면 System.Numerics.INumber<TSelf>다음과 같습니다. 이러한 인터페이스를 사용하면 제네릭 형식 매개 변수가 제네릭 숫자 인터페이스를 구현하는 형식으로 제한되는 수학 기능을 제공하는 제네릭 메서드를 정의할 수 있습니다.

비고

여러 제네릭 인터페이스의 형식 매개 변수는 공변성 또는 반공변으로 표시되어 이러한 인터페이스를 구현하는 형식을 할당하고 사용하는 데 더 큰 유연성을 제공합니다. 자세한 내용은 공변성 및 반공변성(Contravariance)을 참조하세요.

같음 및 순서 비교

컬렉션 기능

  • ICollection<T> 제네릭 인터페이스는 제네릭 컬렉션 형식에 대한 기본 인터페이스입니다. 요소를 추가, 제거, 복사 및 열거하기 위한 기본 기능을 제공합니다. ICollection<T> 는 제네릭 및 비제네릭 IEnumerable<T>IEnumerable에서 상속됩니다.

  • IList<T> 제네릭 인터페이스는 인덱스 검색을 위한 메서드로 ICollection<T> 제네릭 인터페이스를 확장합니다.

  • 제네릭 인터페이스 IDictionary<TKey,TValue>ICollection<T> 제네릭 인터페이스에 키 검색 메서드를 추가하여 확장합니다. .NET 기본 클래스 라이브러리의 제네릭 사전 형식도 비제네릭 IDictionary 인터페이스를 구현합니다.

  • 제네릭 인터페이스는 IEnumerable<T> 제네릭 열거자 구조를 제공합니다. 제네릭 열거자가 구현하는 제네릭 인터페이스는 IEnumerator<T> 제네릭 IEnumerator 이 아닌 인터페이스 MoveNext 를 상속합니다. 형식 매개 변수Reset에 의존하지 않는 멤버 및 T 멤버는 비제네릭 인터페이스에만 나타납니다. 즉, 제네릭이 아닌 인터페이스의 소비자도 제네릭 인터페이스를 사용할 수 있습니다.

수학 기능

.NET 7에는 숫자와 유사한 형식 및 사용할 수 있는 System.Numerics 기능을 설명하는 제네릭 인터페이스가 네임스페이스에 도입되었습니다. .NET 기본 클래스 라이브러리가 제공하는 20개의 숫자 형식은 예를 들어 Int32Double를 포함하여 이러한 인터페이스를 구현하도록 업데이트되었습니다. 이 인터페이스 중에서 가장 두드러지는 것은 INumber<TSelf>이며, 이는 "실수" 수와 대략적으로 해당합니다.

이러한 인터페이스에 대한 자세한 내용은 제네릭 수학을 참조하세요.

참고하십시오