Ich habe eine Klasse mit einigen Standard- / gemeinsamen Funktionen. Ich benutze abstract class
dafü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 TypeNameMapper
oder abstract class
gerade genug?
TypeDefinition
in diesem minimalen Beispiel ist auch abstrakt.