আমি আমার একটি প্রকল্পে ব্যবহারের জন্য পিরানহা ( http://piranhacms.org/ ) নামে একটি ওপেন সোর্স সিএমএস মূল্যায়ন করছি । আমি নিম্নলিখিত কোডটি আকর্ষণীয় এবং কিছুটা বিভ্রান্তিকর পেয়েছি, কমপক্ষে আমার কাছে। কিছু আমাকে বুঝতে বুঝতে সহায়তা করতে পারে যে ক্লাসটি কেন একই ধরণের গোড়া থেকে উত্তরাধিকার সূত্রে প্রাপ্ত?
public abstract class BasePage<T> : Page<T> where T : BasePage<T>
{
/// <summary>
/// Gets/sets the page heading.
/// </summary>
[Region(SortOrder = 0)]
public Regions.PageHeading Heading { get; set; }
}
যদি কোনও শ্রেণির BasePage<T>
সংজ্ঞা দেওয়া হচ্ছে তবে উত্তরাধিকারী হবেন কেন Page<T> where T: BasePage<T>
? এটি কোন নির্দিষ্ট উদ্দেশ্যে কাজ করে?