আমার কিছু ডিফল্ট / ভাগ করা কার্যকারিতা সহ একটি বর্গ রয়েছে। আমি 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 এই সর্বনিম্ন উদাহরণে বিমূর্ত।