Avatar ·

كيفية الحصول على النوع T من مثيل class أو method عام في C#؟

مرحباً بالجميع! أنا مبتدئ في C#، ولدي مشكلة مع الأنواع العامة (generics). لنفترض أن لدي class عام: ```csharp public class MyList { private List items = new List(); public void Add(T item) { items.Add(item); } } ``` وقمت بإنشاء مثيل منه: ```csharp var intList = new MyList(); ``` الآن داخل الـ class أريد معرفة النوع الذي يمثله T. مثلاً، إذا كان T هو int، أريد طباعة "int" على الكونسول. جربت كتابة `typeof(T)`، لكنه لا يعمل في السياقات الثابتة (static contexts)، ولست متأكداً كيف أحصل على النوع من المثيل. كما سمعت أنه بسبب محو الأنواع (type erasure) في وقت التشغيل (runtime) قد يكون هذا صعباً. في Java كنت أستخدم Class، لكن في C# النهج مختلف. كيف يمكنني الحصول على النوع T بشكل صحيح من مثيل class عام أو من method؟ سأكون ممتناً لأمثلة مع كود! <<>>

استخدام typeof(T) في الأعضاء غير الثابتة (non-static members) من الـ class

في C#، الحصول على النوع T داخل class عام أو