C# 인터페이스 구현 : 숨겨지고 명시 적 방법
c#의 인터페이스는 클래스 또는 구조가 따라야하는 계약을 정의합니다. 인터페이스를 구현할 때 숨겨진 구현과 명시 적 구현의 두 가지 방법을 선택할 수 있습니다.
숨겨진 구현
클래스 또는 구조의 일부로 인터페이스 메소드를 수정하십시오. 이러한 방법은 클래스와 인터페이스의 두 가지 방식으로 액세스 할 수 있습니다. 다음과 같이 예 :
표현
클래스 또는 구조에서 인터페이스 메소드를 개별적으로 표현합니다. 이러한 방법은 인터페이스를 통해서만 액세스 할 수 있으며 클래스를 통해 액세스 할 수 없습니다. 다음과 같이 예 :
숨겨 지거나 명시적인 구현을 사용하는 시점
클래스 또는 구조의 구현이 인터페이스의 정의와 완전히 일치 할 때 숨겨진 구현 . 명시 적 방법의 정의의 요구를 제거하여 코드를 단순화합니다.
다음 상황은
:
1 2 3 4 5 6 7 8 9 10 11 12 | public interface ICopyable
{
void CopyTo(Array array , int index);
}
public class MyClass : ICopyable
{
public void CopyTo(Array array , int index)
{
}
}
|
로그인 후 복사
를 표현하는 것으로 간주되어야합니다.
인터페이스에서 제공 한 기본 구현을 다시 작성해야합니다.
동일한 메소드 이름을 가진 여러 인터페이스를 실현해야하지만 다르게 구현해야합니다.
클래스 또는 구조의 공개 API에서 숨겨진 인터페이스에서 구현해야합니다.
1 2 3 4 5 6 7 8 9 10 11 12 | public interface ICopyable
{
void CopyTo(Array array , int index);
}
public class MyClass : ICopyable
{
void ICopyable.CopyTo(Array array , int index)
{
}
}
|
로그인 후 복사
장점과 단점
표현 구현 :
장점 : 는 세부 사항을 구현할 수 있도록보다 자세한 제어를 허용하고 여러 인터페이스에서 충돌 방법을 정의 할 때 모호성을 피할 수 있도록 도와줍니다.
단점 :
코드는 길고 복잡하게 이어질 수 있습니다. -
구현으로 :
장점 : 코드는 더 간단하고 코드 행의 수가 적습니다.
단점 : 세부 사항 구현에 대한 제어가 적습니다. -
명시 적 구현에 대한 Microsoft의 지침 원칙
Microsoft의 지침 원칙은 일반적으로 우발적 인 행동으로 이어질 수 있으므로 명시 적 구현을 피하기 위해 권장됩니다. 그러나이 지침의 원칙은 의존성 주입 (DI) 전에 이전에 공식화 될 수 있습니다. DI를 사용하면 인터페이스가 일반적으로 전달되면 명시 적 구현에 더 유리할 수 있습니다.
요컨대, 숨겨진 명백한 인터페이스 구현의 선택은 코드의 특정 요구에 따라 다릅니다. Cisectional 구현은 일반적으로보다 간결한 솔루션을 제공하며 인터페이스 구현의 유연성과 제어력이 더 크게 구현됩니다.
위 내용은 C#의 암시 적 대 명시 인터페이스 구현 : 언제 어느 것을 사용해야합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!