2013-01-17 3 views
2

인터페이스는 클라이언트와 서버 사이의 계약이며 서버가 인터페이스에 선언 된 메소드를 정의하거나 구현하는 데 필요합니다. 이것은 내부의 정의이며 인터페이스가 공용이어야한다는 것을 의미한다고 믿지만, 인터페이스를 만들기 전에 내부 키워드를 사용할 때 인터페이스를 작성하는 동안 제대로 작동하고 컴파일 시간 오류가 발생하지 않지만 이유는 알 수 없습니다.우리는 어떻게 내부 키워드를 가진 인터페이스를 선언 할 수 있습니까?

편집 : 인터페이스를 내부로 선언 할 수 있다고하더라도 인터페이스 멤버를 구현하는 클래스 메소드가 공개되어야합니다. 왜?

+4

C#을 '의 interface's는 클라이언트 나 서버와는 아무 상관이 없습니다. '인터페이스 '는 타입입니다. – SLaks

+0

그래서 인터페이스가 클라이언트와 서버 사이의 계약이 아니라는 것입니다. – funsukvangdu

+1

"인터페이스", "클라이언트", "서버"및 "계약"을 정의하는 방법에 따라 달라집니다. – Polyfun

답변

9

internal 키워드는 클래스 또는 인터페이스가 동일한 어셈블리 내의 다른 클래스에서만 사용될 수 있음을 의미합니다.

http://msdn.microsoft.com/en-us/library/7c5ka91b(VS.80).aspx

인터페이스는 두 개의 클라이언트 나 서버 사이의 계약은 반드시이 아니라,이 객체가 특정 메서드 나 속성을 구현하는 약속입니다.

http://msdn.microsoft.com/en-us/library/87d83y5b(v=VS.71).aspx

+0

'인터페이스는 ...의 약속입니다.'문구를 빌리면 마음에 들어요? +1 btw – RhysW

관련 문제