加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

在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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读