首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

怎么通过对象名称获取该对象

2012-11-08 
如何通过对象名称获取该对象For example:Form kknew Form()我现在需要在一个方法中,通过 kk这个字符串

如何通过对象名称获取该对象
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>)来保存一个索引和对象的集合。

热点排行