Saya memiliki kelas dengan beberapa fungsi standar / bersama. Saya gunakan abstract class
untuk 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 TypeNameMapper
atau abstract class
cukup?
TypeDefinition
dalam contoh minimal ini juga abstrak.