Activator.createinstance(泛型类型,args)方法抛出异常

时间:2018-06-01 07:42:04

标签: c# generics model-view-controller activator

我创建了一个泛型类,用于实例化另一个未知类。

我们通过下面的代码在运行时传递一个类的名称,并且我们已经有一个带有参数构造函数的类,所以我传递参数通过激活器创建类的实例。

但是,当我运行下面的代码时,它会抛出以下错误:

  

'类型的构造函数   eDebitCreditNote.Models.GenericClass`1 [[eDebitCreditNote.Models.DC_Header_Vendor,   eDebitCreditNote,Version = 1.0.0.0,Culture = neutral,   PublicKeyToken = null]]'找不到。'

object[] args = new object[1] { values };
string classname = tblform.HeaderTable;
var sometype = Type.GetType("eDebitCreditNote.Models."+classname);
var genericType = typeof(GenericClass<>).MakeGenericType(new[] { sometype });
var instance = Activator.CreateInstance(genericType,args); 

通用类代码:

 namespace eDebitCreditNote.Models
    {
     public class GenericClass<T>
    {


        public T ObjectCreate<T>(object[] args)
    {
        return (T)Activator.CreateInstance(typeof(T), args); 

    }


        public IDictionary<string, object> FieldValues { get; set; }

    }
    }

0 个答案:

没有答案