मेरे पास कुछ डिफ़ॉल्ट / साझा कार्यक्षमता के साथ एक वर्ग है। मैं 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
इस न्यूनतम उदाहरण में भी सार है।