Tôi có một lớp với một số chức năng mặc định / chia sẻ. tôi sử dụngabstract class
cho nó:
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);
}
Như bạn thấy, tôi cũng có giao diện ITypeNameMapper
. Liệu nó có ý nghĩa để xác định giao diện này nếu tôi đã có một lớp trừu tượng TypeNameMapper
hoặc abstract class
là vừa đủ?
TypeDefinition
trong ví dụ tối thiểu này là trừu tượng quá.