Share via


제네릭 인터페이스

업데이트: 2007년 11월

이 항목에서는 제네릭 형식 패밀리에 대해 일반 기능을 제공하는 제네릭 인터페이스에 대해 간략하게 설명합니다.

제네릭 인터페이스

제네릭 인터페이스는 순서 비교와 같음 비교 및 제네릭 컬렉션 형식에 의해 공유되는 기능을 위해 제네릭이 아닌 인터페이스에 형식이 안전한 인터페이스를 제공합니다.

같음 및 순서 비교

System 네임스페이스에서 System.IComparable<T>System.IEquatable<T> 제네릭 인터페이스는 제네릭이 아닌 인터페이스와 마찬가지로 순서 비교와 같음 비교에 대한 메서드를 각각 정의합니다. 형식은 이러한 인터페이스를 구현하여 비교를 수행할 수 있는 기능을 제공합니다.

System.Collections.Generic 네임스페이스에서 IComparer<T>IEqualityComparer<T> 제네릭 인터페이스는 System.IComparable<T> 또는 System.IEquatable<T> 제네릭 인터페이스를 구현하지 않는 형식에 대해 순서 또는 같음 비교를 정의하는 방법을 제공하고, 구현하는 형식에 대해서는 이러한 관계를 재정의하는 방법을 제공합니다. 이러한 인터페이스는 여러 제네릭 컬렉션 클래스의 메서드와 생성자에 의해 사용됩니다 예를 들어 제네릭 IComparer<T> 개체를 SortedDictionary<TKey, TValue> 클래스의 생성자에 전달하여 제네릭 System.IComparable<T>을 구현하지 않는 형식에 대한 정렬 순서를 지정합니다. 제네릭 IComparer<T> 구현을 사용하여 배열과 목록을 정렬하는 데에는 Array.Sort 제네릭 정적 메서드와 List<T>.Sort 인스턴스 메서드의 오버로드가 사용됩니다.

Comparer<T>EqualityComparer<T> 제네릭 클래스는 IComparer<T>IEqualityComparer<T> 제네릭 인터페이스의 구현에 기본 클래스를 제공하고 각각의 Comparer<T>.DefaultEqualityComparer<T>.Default 속성을 통해 기본 순서 및 같음 비교도 제공합니다.

컬렉션 기능

ICollection<T> 제네릭 인터페이스는 제네릭 컬렉션 형식에 대한 기본 인터페이스입니다. 이 인터페이스는 요소의 추가, 제거, 복사 및 열거를 위한 기본 기능을 제공합니다. ICollection<T>은 제네릭 IEnumerable<T> 및 제네릭이 아닌 IEnumerable 모두에서 파생됩니다.

IList<T> 제네릭 인터페이스는 인덱싱된 검색을 위한 메서드를 사용하여 ICollection<T> 제네릭 인터페이스를 확장합니다.

IDictionary<TKey, TValue> 제네릭 인터페이스는 키 지정 검색을 위한 메서드를 사용하여 ICollection<T> 제네릭 인터페이스를 확장합니다. .NET Framework 기본 클래스 라이브러리의 제네릭 사전 형식도 제네릭이 아닌 IDictionary 인터페이스를 구현합니다.

IEnumerable<T> 제네릭 인터페이스는 제네릭 열거자 구조체를 제공합니다. 제네릭 열거자에 의해 구현되는 IEnumerator<T> 제네릭 인터페이스는 제네릭이 아닌 IEnumerator 인터페이스를 상속하고, T 형식 매개 변수에 종속되지 않는 MoveNextReset 멤버는 제네릭이 아닌 인터페이스에만 나타납니다. 즉, 제네릭이 아닌 인터페이스의 모든 소비자도 해당 제네릭 인터페이스를 사용할 수 있음을 의미합니다.

참고 항목

개념

.NET Framework의 제네릭 개요

.NET Framework의 제네릭 컬렉션

배열과 목록을 조작하기 위한 제네릭 대리자

제네릭의 장점 및 제한 사항

참조

System.Collections.Generic

System.Collections.ObjectModel

기타 리소스

.NET Framework의 제네릭