J'ai une classe avec des fonctionnalités par défaut / partagées. J'utilise abstract class
pour cela:
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);
}
Comme vous pouvez le voir, j'ai également l'interface ITypeNameMapper
. Est-il judicieux de définir cette interface si j'ai déjà une classe abstraite TypeNameMapper
ou si abstract class
c'est juste assez?
TypeDefinition
dans cet exemple minimal est également abstrait.