Saya memiliki kelas dengan beberapa fungsi standar / bersama. Saya gunakan abstract classuntuk itu:
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);
}
Seperti yang Anda lihat, saya juga memiliki antarmuka ITypeNameMapper. Apakah masuk akal untuk mendefinisikan antarmuka ini jika saya sudah memiliki kelas abstrak TypeNameMapperatau abstract classcukup?
TypeDefinition dalam contoh minimal ini juga abstrak.