我正在尝试使用反射创建从反射创建的类型的对象数组,如下所示:
Client[] newArray = new Client[] {client1, client2};
我需要以某种方式获取Client
对象类型来创建对象,以便它可以通过。
非常感谢任何帮助。
干杯, 罗布
object clientObject = testAssembly.CreateInstance(".Testing_Automation.Client");
Type client = testAssembly.GetType(".Testing_Automation.Client");
// Create Client Object Array
传递给:
public Appointment(IEnumerable<Client> client, string time)
答案 0 :(得分:6)
您应该使用Array.CreateInstance
方法:
Array arr = Array.CreateInstance(client, lengthOfArray);
arr.SetValue(client1, 0); // Fill in the array...
arr.SetValue(client2, 1);
要从数组中获取IEnumerable<Client>
,如果您在编译时知道(IEnumerable<Client>)arr
类型,则可以使用Client
。如果不这样做,可能会发布有关该方法调用的可能性的更多信息。