c# getField用法

问题描述

在学习c#项目时,遇到这样一条语句 FieldInfo field = base.GetType().GetField(base2.Tag.ToString(), BindingFlags.NonPublic | BindingFlags.Instance);

问题出现的环境背景及自己尝试过哪些方法

查了很多,大概的作用类似于将对象转化为字典,应该是03之前的版本这样做的

相关代码

// 请把代码文本粘贴到下方(请勿用图片代替代码)

你期待的结果是什么?实际看到的错误信息又是什么?

请问具体的每一个函数在整个过程的作用,还有怎么类比字典的add方法,往里面加?谢谢


Cats萌萌
浏览 1836回答 1
1回答

达令说

不是把对象转化为字典,而是获取字段(field)的元数据及其相关信息,这个信息是以FieldInfo类来呈现的。在你的例子中,获取的是base2.Tag的元数据,然后这些元数据被保存在field变量中。首先通过base.GetType()获取基类的元数据,然后通过GetField(base2.Tag.ToString())获取base2.Tag的元数据。BindingFlags.NonPublic | BindingFlags.Instance是指定base2.Tag的修饰符等。(中文不太好 抱歉)
打开App,查看更多内容
随时随地看视频慕课网APP