يمكن تنفيذ استنتاج نوع عام جزئي في C#؟
نظرة عامة
الحالة الموصوفة هي المكان الذي يجب أن تكون فيه طريقة التمديد متاحة لفئة أساسية محددة ، مع وجود معلمات عامة تتعلق بوسيطة الطريقة. ومع ذلك ، يجب أن تُرجع طريقة التمديد أيضًا نوعًا محددًا مرتبطًا بسليل معين يتم استدعاؤه. ومع ذلك ، هناك استراتيجيات يمكن أن تحقق نتيجة مماثلة. Treg P ، اسم السلسلة ، T قيمة)
حيث treg: parameterizedregistrationBase
thatarewrapper الذي (مصدر ienumerable )
{
إرجاع جديد thatarewrapper (المصدر) ؛
}
الطبقة العامة thatarewrapper
{
// ... تطبيق
}
و:
Class
عن طريق إدخال طرق التمديد مباشرة في الفئة الأساسية ، يمكن تجنب المشكلة. ومع ذلك ، فإن هذا النهج يزيل القدرة على استخدام أساليب التمديد في فئات أخرى في المستقبل. يعتمد النهج المحدد للاستخدام على المتطلبات المحددة والمقايضات المعنية.