这个问题可能大家都没有遇到过
MemberInfo[] members = null;
members = type.FindMembers(MemberTypes.Field | MemberTypes.Property, BindingFlags.Default, filter, data);
这里在程序中BindingFlags.Default是变化的,不影响问题实质
filter是一个代理,代理的代码完全没有错误,
type是一个Type的类型,
调试的过程中,察看members的值时,这时候发现无法获取,提示“当前上下文不存在members变量”,但是像type,filter,data都是有值的,当然也进不了filter代理了。
另外一个程序,使用了完全一样的代码,但是就可以运行,为什么会是这样呢?
很搞笑的问题啊,可是我必须解决出来,帮帮忙啦

解决方案 »

  1.   

    null是哪个null了,在这里只有可能members,其他的肯定是不会null,我测试跟踪过,
    那么当我把鼠标放在members上的时候ide的智能感知就会弹出个小窗口来,显示该members的值和类型等信息,但是现在鼠标放上去没有任何的反应,而另外一个完全相同的代码里却可以实现,是null的话,就一定可以弹出个null的信息来,但是现在没有,说明不是值为null的原因。
    大家各抒己见了,这个问题很头大阿