忽略大小写获取对象的属性

作者: Robin 分类: Asp.net 发布时间: 2010-05-17 12:58

一般通过函数Type.GetProperty(string, BindingFlags)来完成。其中BindingFlags指定了反射搜索的范围。

今天由于需要,决定把原来的区分大小写的获取属性方式,改为不区分大小写,于是把原来的代码
[图片]PropertyInfo propInfo = typeof([图片]).GetProperty(name);

直接修改为:

[图片]PropertyInfo propInfo = typeof([图片]).GetProperty(name, BindingFlags.IgnoreCase);
[图片]

以为大功告成,谁知根本找不到属性。

经过查阅MSDN,才发现BindingFlags.IgnoreCase仅仅定义了反射搜索的方法,而还需要定义反射搜索的范围。

所以,又把代码做了修改:

[图片]PropertyInfo propInfo = typeof([图片]).GetProperty(name, BindingFlags.Public | BindingFlags.Instance | BindingFlags.IgnoreCase);

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

发表评论

电子邮件地址不会被公开。 必填项已用*标注

标签云