해당 인터페이스의 속성에 설정된 접근자를 제공하여 인터페이스를 '확장'하려고합니다. 인터페이스는 다음과 같은 : C#에서 인터페이스의 속성에 'set'을 추가하십시오.
interface IMutableUser : IUser
{
string UserName
{
get;
set;
}
}
내가 상속이 필요합니다
interface IUser
{
string UserName
{
get;
}
}
나는 이런 식으로 뭔가를 할 수 있습니다. IUser
의 본문을 IMutableUser
에 복사 할 수없고 설정된 접근자를 추가 할 수 없습니다.
C#에서 가능합니까? 그렇다면 어떻게 성취 될 수 있습니까?
interface IUser
{
string UserName
{
get;
}
}
abstract class MutableUser : IUser
{
public virtual string UserName
{
get;
set;
}
}
또 다른 가능성이있을 것입니다 :
새로운 기능이 추가되었습니다. 감사! 예를 들어 답을 업데이트 할 수 있습니까? – strager
실제적인 관점에서 볼 때, 인터페이스는 시간이 지남에 따라 매우 악화됩니다. 인터페이스의 모든 구현자는이 계약에 대한 모든 변경 사항을 깨뜨릴 것입니다. –
@PatrickPeters - 주석이 SetUserName 메소드로 전달되었다고 가정합니다. 첫 번째 옵션에는 문제가 표시되지 않습니다. 구현자가 적절한 곳에 명시 적 구현을하면 가능한 휴식 시간 중 일부가 제거됩니다. – Maslow