日期:2014-05-17  浏览次数:21166 次

如何通过对象名称获取该对象
For example:
Form kk=new Form();

我现在需要在一个方法中,通过 "kk"这个字符串获取到kk这个对象

------解决方案--------------------
你想通过字符串获得该"实例"的对象--这个估计不杂可能,只能传递或序列化保存
还是只是该类型的对象--这个就是用反射
using System.Reflection
新建对象:
object obj = Type.GetType(类名+","+名称空间).InvokeMember(null, BindingFlags.CreateInstance |BindingFlags.Instance | BindingFlags.Public, null, null, null);

若还需要查找方法并执行
MethodInfo mi=obj.GetType().GetMethod("方法名");
mi.Invoke(obj,null);//无参数执行
mi.Invoke(obj,new object[] { 参数1,参数2 });//有参数
------解决方案--------------------
没有办法获得,变量名在编译后就没有了。

再者说了,局部变量名在方法外就没有意义了。如果你定义了两个方法,里面各有一个同名的变量,怎么区分呢。

你可以使用一个字典(Dictionary<T1, T2>)来保存一个索引和对象的集合。