2017-09-12 3 views
-4

안녕하세요, 저는 인터페이스를 배우려고합니다. 나는 그것에 대한 기본적인 지식을 가지고있다. 그것은 그 클래스에 대한 계약이다. 인터페이스에 대해 데이터 유형으로 조금 혼란스러워합니다.C# Interface as DataType

질문 : 인터페이스를 데이터 유형으로 사용하는 목적은 무엇입니까?

Ex.

IEnumerable Folders {get;} 

또는

IComparable Compare {get;} 

메신저는 IEnumerable을 또한 인터페이스 수정하면

. 값 유형은 어디에 저장되어 있습니까 (있는 경우)?

들으

+0

이것은 좋은 아이디어를 줄 것입니다. - https://stackoverflow.com/questions/2151959/using-interface-variables – jjj

답변

3

은 데이터 형식의 인터페이스를 구현하는 클래스의 모든 객체를 참조 할 수 있음을 의미한다.

IEnumerable thing = new List();

IEnumerable thing = new Collection();

IEnumerable thing = new HashSet(); 또한 어떤 경우

작업용 작동, 당신은 당신이 실제로 개체에 할당 된 정확한 유형을 알 필요가 없습니다 그렇게 계약을 구현하는 모든 유형을 원할 경우

예를 들어, 모든 IEnumerato는 foreach

foreach (var elem in thing)이 일이 어떤 유형의 작동 사용할 수 GetEnumerator()은, 그냥있는 IEnumerator를 구현해야 구현합니다.