C# C-反射-识别重载构造函数
我需要识别重载构造函数以使用反射传递值。部分代码为:C# C-反射-识别重载构造函数,c#,C#,我需要识别重载构造函数以使用反射传递值。部分代码为: asm=Assembly.Load("RulesLibrary"); Type t = asm.GetType("RulesLibrary.MedicalInsuranceRules"); object ActObj = Activator.CreateInstance(t); object[] conparam = new object[
asm=Assembly.Load("RulesLibrary");
Type t = asm.GetType("RulesLibrary.MedicalInsuranceRules");
object ActObj = Activator.CreateInstance(t);
object[] conparam = new object[2];
conparam[0] = "RuleID"; // string
conparam[1] =12; // int
// How to find out the overloaded constructor in Type MedicalInsuranceRules
ConstructorInfo cinfo = t.GetConstructor();
cinfo.Invoke(ActObj, conparam);
假设MedicalInsuranceRules类型包含重载构造函数
如何在反射期间匹配excat构造函数?使用将类型数组作为参数的。有一个重载,您可以在其中指定构造函数参数的类型,例如
var ciInfo = t.GetConstructor(new[] { typeof(string), typeof(int) });
使用GetConstructors方法而不是GetConstructor,然后查看获得的每个ConstructorInfo的Parameters属性,以搜索所需的参数
var ciInfo = t.GetConstructor(new[] { typeof(string), typeof(int) });