时间:2019-03-17 标签:c#Reflectionobject[]issue

标签 c# .net arrays reflection types

我正在尝试使用反射来创建从反射创建的类型的对象数组,如下所示:

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)

最佳答案

您应该使用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在编译时输入。如果您不这样做(这很可能),您应该发布有关该方法调用的可能性的更多信息。

关于时间:2019-03-17 标签:c#Reflectionobject[]issue,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/986157/

相关文章:

c# - 数据表中的计算

C#计算小数

c# - 在 Emgu.CV 中,这些阈值是什么意思,是否有更好的方法来检测圆?

.net - 如果字符串为空,我应该抛出 ArgumentNullException 吗?

java - 数组列表问题

java - 无法将 char append 到 StringBuffer 二维数组

C# - 负载均衡器情况下的二维码链接

c# - 自定义 XSD 类型的 Xml 序列化

c# - 在 C# 中使用和解析文本文件来初始化基于组件的游戏模型

ruby - 用 Ruby 整数位制作 bool 数组