在C#中,有没有在运行时确定类的成员?
发布时间:2020-12-16 00:14:04 所属栏目:百科 来源:网络整理
导读:假设我有一个名为foo的类,它有3个公共成员foo1,foo2和foo3. 现在假设我正在编写一个函数,它将类foo的实例作为参数,但是当我编写这个函数时,我不知道它有哪些公共成员. 有没有办法让我在运行时确定它有公共成员foo1,foo2,foo3和ONLY foo1,foo3. IE – 找出所
假设我有一个名为foo的类,它有3个公共成员foo1,foo2和foo3.
现在假设我正在编写一个函数,它将类foo的实例作为参数,但是当我编写这个函数时,我不知道它有哪些公共成员. 有没有办法让我在运行时确定它有公共成员foo1,foo2,foo3和ONLY foo1,foo3. IE – 找出所有公共成员是什么? 我还可以确定他们的类型吗? 解决方法
好吧,这就是Reflection的用途:
Type myObjectType = typeof(foo); System.Reflection.FieldInfo[] fieldInfo = myObjectType.GetFields(); foreach (System.Reflection.FieldInfo info in fieldInfo) Console.WriteLine(info.Name); // or whatever you desire to do with it (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |