当前位置:编程学习 > C#/ASP.NET >>

C# invokemember()函数的

最近在学GDI+,参照了书上的例子做一个视觉效果浏览器,一步一步敲代码慢慢理解,结果完了发现运行的效果不同,我写的有BUG,用Beyond Compare对比给出的源代码,发现竟然是下面这条InvokeMember语句的细微不同导致的,完全没意识到这个不同会影响运行效果,求大牛讲解讲解:
这是我的语句:
VisualStyleElement element = (VisualStyleElement)t.InvokeMember(prop.Name, BindingFlags.GetProperty | BindingFlags.Public | BindingFlags.Static, null, null, null);

这是源代码语句:
VisualStyleElement element = (VisualStyleElement)t.InvokeMember(prop.Name, BindingFlags.Static | BindingFlags.GetProperty | BindingFlags.Public, null, null, null);

不同点就在于InvokeMember函数的第二个参数,没有查到|符号具体是什么含义,但是猜想应该是并列的意思,我只是改了一下顺序,运行的结果就不一样了,大概是对|符号的含义没有理解清楚吧,求指点。。。 GDI+ InvokeMember 参数 --------------------编程问答-------------------- BindingFlags.Static 包含静态函数,各个枚举值表示的意思,msdn上写的很清楚 --------------------编程问答--------------------
引用 1 楼 bdmh 的回复:
BindingFlags.Static 包含静态函数,各个枚举值表示的意思,msdn上写的很清楚


感谢这么迅速的回答,MSDN我看了,没有看出什么端倪,我不太理解的是:
BindingFlags.GetProperty | BindingFlags.Public | BindingFlags.Static
BindingFlags.Static | BindingFlags.GetProperty | BindingFlags.Public
BindingFlags参数的这两种写法会有什么差别 --------------------编程问答-------------------- 理论上没区别,你怎么就认为是这句引起的?
  
*****************************************************************************
签名档: http://feiyun0112.cnblogs.com/ --------------------编程问答--------------------
引用 3 楼 feiyun0112 的回复:
理论上没区别,你怎么就认为是这句引起的?
  
*****************************************************************************
签名档: http://feiyun0112.cnblogs.com/

我改成源代码的语句。。。。然后BUG就没了,其他都没变 --------------------编程问答-------------------- 那个符号表示多个组合方式,你遇到什么情况 --------------------编程问答--------------------
引用 5 楼 bdmh 的回复:
那个符号表示多个组合方式,你遇到什么情况



引用 3 楼 feiyun0112 的回复:
理论上没区别,你怎么就认为是这句引起的?
  
*****************************************************************************
签名档: http://feiyun0112.cnblogs.com/

感谢二位版主的启发,又测试了几遍,确实是没啥区别,BUG是在改变TractBar的值之后才会有的,不管是哪个代码都会有,应该不是这个语句的问题了,我再自己看看,因为还没做完,但是看了后面的一些内容,都是一些体验优化了,跟这个不太有关系了,所以觉得应该是这个地方有问题,大概后面还会有一些优化顺道解决了这个问题吧,我接着做,完了再分析分析
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,