如何在C#中动态创建和命名对象?

时间:2010-01-15 04:26:11

标签: c# .net dynamic

我希望在运行时动态创建和命名我的对象的实例,因为我将它们添加到列表类中我不知何故认为这在c#中是一个简单的问题但到目前为止我一直无法找到有关如何实现的任何信息此

简要说明我有一个自定义类,在运行时我希望创建一个数组列表并用custon类的对象填充它,但是在使用循环索引和一个对象添加到列表中时命名对象标准名称。

这可能吗?

5 个答案:

答案 0 :(得分:2)

对象在.NET中没有名称。

另外,请勿使用ArrayList类。请改用List<T>

答案 1 :(得分:2)

您可以拥有一个允许您通过索引访问其元素的列表,或者具有允许您使用任何特定类型的dictonary的列表:

List<YourClass> yourList = new List<YourClass>();
YourClass instance = new YourClass();
yourList.Add(instance);
YourClass instance2 = yourList[0];

例如,如果您希望字典中包含字符串键(“name”):

Dictonary<string, YourClass> dict = new Dictonary<string, YourClass>();
YourClass instance = new YourClass();
dict.Add("someName", instance);
YourClass instance2 = dict["someName"];

与PHP不同,C#中没有内置的集合类型,允许您通过索引或键访问其成员。你可以随时创建自己的。

答案 2 :(得分:1)

排序奇怪的问题,因为你不能“命名”对象。

然而,您可以使用通用词典(Dictionary<string, MyCustomType>)来实现您想要实现的目标。字典中的字符串键有点像对象名称,键对应的值包含对象实例。

答案 3 :(得分:1)

您是否正在寻找类似System.Collections.Generic.Dictionary&lt;&gt; ..?

的内容

答案 4 :(得分:0)

如果您想为他们命名,请将其添加到地图而不是列表中。