如何使用字符串'的内容作为对象名创建一个新对象
本文关键字:对象 创建 新对象 一个 字符串 何使用 | 更新日期: 2023-09-27 18:12:05
我试图命名一个Person
对象与"objectName"如下,但不成功,任何帮助吗?怎么做呢?
string objectNameString = "objectName";
Person objectNameString = new Person();
我尝试从几个用户输入创建一个Person列表,列表中的名称必须是唯一的。
下面应该使用objectNameString
的字符串创建Person
的新实例。
string objectNameString = "Person";
var person = System.Reflection.Assembly.GetExecutingAssembly().CreateInstance(objectNameString );
如果您想使用objectNameString
变量的值,使用Dictionary
或ExpandoObject
是您可以获得的最接近的值:
Dictionary<string, object> someObject = new Dictionary<string, object>();
someObject[objectNameString] = new Person();
Person p = (Person)someObject[objectNameString];
或者,如果您只添加Person
s,则字典可能看起来像Dictionary<string, Person>
。
我想我明白你的问题了。你有一个字符串(例如来自用户输入)。你想要创建一个Person它有前面提到的字符串的变量名。
Dictionary<string, Person> someObject = new Dictionary<string, Person>();
string objectNameString = "objectName";
someObject[objectNameString] = new Person();