找回密码
 立即注册

QQ登录

只需一步,快速开始

graper

高级会员

45

主题

63

帖子

1348

积分

高级会员

积分
1348

活字格认证

graper
高级会员   /  发表于:2009-12-17 11:52  /   查看:8481  /  回复:3
Post by "KevinShan",  02-27-2008, 13:23
-----------------------------------------------------


今天看到一个博客里提到了反射的用法,没想到可以这样用:你能使用反射通过在前缀后放一个"*"查找包含前缀的成员:


Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

  1. MemberInfo[] members = typeof(A).GetMember("hidden*",
  2.     BindingFlags.NonPublic | BindingFlags.Instance);

  3. // members now contains three members: hiddenFlag1, hiddenFlag2 and hiddenMethod

  4. //

  5. public class A
  6. {
  7.     private bool hiddenFlag1;
  8.     private bool hiddenFlag2;

  9.     private void hiddenMethod()
  10.     {
  11.     }

  12.     private void reallyHiddenMethod()
  13.     {
  14.     }
  15. }
复制代码
转自http://www.cnblogs.com/yangjie5188/archive/2008/02/22/1078188.html

经测试,确实可以如此。

3 个回复

倒序浏览
winking
葡萄城公司职员   /  发表于:2009-12-17 14:50:00
沙发

回复 2# Z8385 的帖子

不支持正则,只能前缀匹配查找(Prefix Lookup),这部分的实现在System.RuntimeType.FilterHelper(...)。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
alenyin
葡萄城公司职员   /  发表于:2010-1-11 09:27:00
板凳
这个有时候还挺实用
回复 使用道具 举报
robert
金牌服务用户   /  发表于:2010-1-11 16:03:00
地板
学习了,感觉应该能用到。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部