5
抽象クラスを既に持っている場合、インターフェイスを定義するのは理にかなっていますか?
いくつかのデフォルト/共有機能を持つクラスがあります。私abstract classはそれを使用します: 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); } ご覧のとおり、インターフェイスもありますITypeNameMapper。私がすでに抽象クラスを持っているTypeNameMapperか、それでabstract class十分な場合、このインターフェイスを定義するのは理にかなっていますか? TypeDefinition この最小限の例でも抽象的です。