【发布时间】:2014-02-07 14:22:05
【问题描述】:
所以当我创建一个对象时,我会使用类似的东西:
Object objectName = new Object();
我得到一个对象,当调用像
这样的方法时,我可以将其称为 objectNameobjectName.method(parameter);
但是我要怎么做才能创建一个对象,我可以使用字符串中的名称来引用它,例如:
string objectName = "myName";
Object [objectName] = new Object();
然后像这样引用它:
myName.method(parameter);
所以以某种方式将字符串 objectName 插入到新对象的实际名称中。 我该怎么做?
编辑:5 年后(以及 CS 学位)我在自己的个人资料中偶然发现了这个问题,然后笑了。用例是创建对象来存储有关视频游戏世界中位置的数据,当时我没有意识到您可以拥有没有名称的对象。我实际上需要的解决方案就是一个对象数组。
【问题讨论】:
-
为什么需要这样做?你想完成什么?
-
@48klocs 不同的问题。这询问了由字符串指定的类,而这个是关于基于字符串命名变量
-
我不确定您为什么要这样做。请说明您希望这样做的原因,您很可能会为您的问题找到更好的解决方案。
-
我没有意识到你正在超越反射并进入动态代码生成或其他东西。这不仅在 C# 中行不通(也许你可以在 T4 中拼凑一些东西),我想不出任何语言(在运行时更改变量名或其他东西)甚至接近一个似乎的想法。