RT,在c#中,我们设计一个类的时候,属性大都是设置或者返回字段值,此时就造成了重复,当然如果字段申明为非公开类型,采用BindingFlags枚举类是可以有效过滤,但如果你调用的是别人写的类,你如何能确保别人写的字段复合你的要求?如下:
public class Demo
{
public int Field;
public int Prop
{
get
{
return Field;
}
set
{
Field = value;
}
}
}
我们在反射的时候如此做
Demo f = new Demo();
Type t = f.GetType();
PropertyInfo[] pp = t.GetProperties();
FieldInfo[] ff = t.GetFields();
此时打断点会发现pp的长度为1,ff的长度为1。
能不能做到发现类的一个属性实际是调用的一个其中一个字段的时候,去除重复。
想多了,总是想得太多。
没明白什么意思。
就是反射的时候,如果有属性实际设置和返回的值时另一个字段的值,那么在反射字段的时候,将其排除。
如果field是public,那property用来做什么 ?