问题描述
在学习c#项目时,遇到这样一条语句 FieldInfo field = base.GetType().GetField(base2.Tag.ToString(), BindingFlags.NonPublic | BindingFlags.Instance);
问题出现的环境背景及自己尝试过哪些方法
查了很多,大概的作用类似于将对象转化为字典,应该是03之前的版本这样做的
相关代码
// 请把代码文本粘贴到下方(请勿用图片代替代码)
你期待的结果是什么?实际看到的错误信息又是什么?
请问具体的每一个函数在整个过程的作用,还有怎么类比字典的add方法,往里面加?谢谢
不是把对象转化为字典,而是获取字段(field)的元数据及其相关信息,这个信息是以
FieldInfo
类来呈现的。在你的例子中,获取的是base2.Tag
的元数据,然后这些元数据被保存在field
变量中。首先通过
base.GetType()
获取基类的元数据,然后通过GetField(base2.Tag.ToString())
获取base2.Tag
的元数据。BindingFlags.NonPublic | BindingFlags.Instance
是指定base2.Tag
的修饰符等。(中文不太好 抱歉)