Ich habe eine Klasse mit einigen Standard- / gemeinsamen Funktionen. Ich benutze abstract classdafür:
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);
}
Wie Sie sehen, habe ich auch die Schnittstelle ITypeNameMapper. Ist es sinnvoll, diese Schnittstelle zu definieren, wenn ich bereits eine abstrakte Klasse habe TypeNameMapperoder abstract classgerade genug?
TypeDefinition in diesem minimalen Beispiel ist auch abstrakt.