기본 / 공유 기능이있는 클래스가 있습니다. 나는 그것을 위해 사용 abstract class
한다 :
public interface ITypeNameMapper
{
string Map(TypeDefinition typeDefinition);
}
public abstract class TypeNameMapper : ITypeNameMapper
{
public virtual string Map(TypeDefinition typeDefinition)
{
if (typeDefinition is ClassDefinition classDefinition)
{
return Map(classDefinition);
}
...
throw new ArgumentOutOfRangeException(nameof(typeDefinition));
}
protected abstract string Map(ClassDefinition classDefinition);
}
보시다시피 인터페이스도 있습니다 ITypeNameMapper
. 이미 추상 클래스가 TypeNameMapper
있거나 abstract class
충분 하다면이 인터페이스를 정의하는 것이 합리적 입니까?
TypeDefinition
이 최소한의 예에서도 추상입니다.