Avatar ·

كيفية إنشاء مثيل كائن حسب نوعه (Type) في C#؟

مرحباً بالجميع! أنا مبتدئ في C# وواجهت مشكلة. لدي متغير من النوع `Type`، مثلاً تم الحصول عليه عبر `typeof(MyClass)` أو من سلسلة نصية تحتوي على اسم الفئة. أحتاج إلى إنشاء كائن من هذا النوع ديناميكياً، لكنني لا أعرف كيفية القيام بذلك. إليك مثال لا يعمل: ```csharp Type myType = typeof(StringBuilder); var instance = new myType(); // خطأ: "myType" هو متغير وليس نوعاً ``` أفهم أنه في C# لا يمكن استخدام `new` مع متغير من النوع `Type`. بحثت في Google ووجدت إشارات إلى `Activator.CreateInstance`، لكنني لم أفهمها بالكامل. كيف يمكن إنشاء كائن بشكل صحيح إذا كان لدي فقط `Type`؟ من المهم أن يعمل الحل لكل من الفئات التي لا تحتوي على معاملات في المُنشئ والفئات التي تحتوي على معاملات. شكراً مسبقاً! <<>>

استخدام Activator.CreateInstance

لإنشاء كائن حسب النوع في C#، يتم استخدام الفئة Activator من مساحة الأسماء System. هذه هي الطريقة الأبسط والأكثر شيوعاً. إليك كيف يتم ذلك: