سؤال

أحاول إنشاء مثيل لمجموعة بيانات مكتوبة ديناميكيا في التعليمات البرمجية في وقت التشغيل. لدي هذا النوع متاح لي، ولكن عندما أحاول القيام بذلك:

object obj = Activator.CreateInstance(Type.GetType("TYPED DATASET TYPE HERE"));

المشكلة هي أن النوع لا يبدو صالحا وفقا للرمز عند محاولة تشغيله. ماذا يمكن أن أفعل الخطأ هنا؟

هل كانت مفيدة؟

المحلول

أين هو النوع المحدد؟ (أي جمعية).

إلا إذا قمت بإعطائها اسم مؤهل للتجميع، فسيظهر فقط دعا التجمع، وبعض الجمعيات الرئيسية الأخرى. خيارات:

  • استخدم اسم التجميع المؤهل ("somen.amespace.sometype، someShembly، ...")
  • احصل على ال Assembly مثيل (من نوع معروف في تلك الجمعية)، واستخدام GetType(fullyQualifiedName) على ال Assembly نموذج

نصائح أخرى

على افتراض أنك تنبعث منه رمز DataSet الصحيح الذي قد تحتاج أيضا إلى تحميل التجميع.

ابحث في مساحات Namesp مساحات .NET التالية.

يمكنك أيضا إلقاء نظرة على مشاريع المصدر المفتوح مثل Windsor الذي يستخدم الانعكاس لتنبعث دروس جديدة لإنشاء اعتراضي. قد يكون هناك رمز هناك بحيث يمكنك التعلم منه.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top