C# 将实例的字符串名称强制转换为实例

C# 将实例的字符串名称强制转换为实例,c#,reflection,C#,Reflection,我有一个字符串值,其中是一个类的现有实例的名称。有什么方法可以从字符串中获取实例吗 例如: CheckBox checkBox = new CheckBox(); string nameOfInstance = "checkBox"; 现在,我只想根据nameOfInstance变量获取复选框实例复选框。如果要从类型创建新实例: Type type = Type.GetType(fullyQualifiedClassName, true); object[] arguments = new o

我有一个字符串值,其中是一个类的现有实例的名称。有什么方法可以从字符串中获取实例吗

例如:

CheckBox checkBox = new CheckBox();
string nameOfInstance = "checkBox";

现在,我只想根据
nameOfInstance
变量获取
复选框
实例
复选框。

如果要从类型创建新实例:

Type type = Type.GetType(fullyQualifiedClassName, true);
object[] arguments = new object[]{};
object obj = Activator.CreateInstance(type, arguments);
您可以通过以下方式获得名称空间:

string namespace = MethodBase.GetCurrentMethod().DeclaringType.Namespace;

如果您正在寻找获取现有实例的方法,请创建一个字典(,),并将需要的引用放在其中进行查找。

是变量名吗?其他东西的属性?只是类型名称。。。给我们一些代码。实例本身没有名称。指向它的变量、字段和属性都有名称。如果您已获得其中一个实例的名称,则可以使用反射来检索该实例。但这很混乱,我建议你考虑一个不同的解决方案。例如,您可能可以使用
词典
来解决问题。您可能希望将您的问题扩展到包括为什么要这样做。因为您可能走错了方向…感谢您使用
字典
,我现在看得更清楚了。使用(复选框)this.Controls[“CheckBox”]。假设你在其他方面都做对了,这个片段就糟透了。