type.GetProperty()忽略大小写
时间: 2023-10-07 14:06:03 浏览: 47
在使用C#的`Type.GetProperty()`方法获取对象属性时,可以通过设置`BindingFlags`参数来忽略属性名称的大小写。具体来说,可以使用`BindingFlags.IgnoreCase`选项来实现。
例如,假设有一个`Person`类,其中有一个`Name`属性:
```csharp
public class Person
{
public string Name { get; set; }
}
```
如果要使用`Type.GetProperty()`方法获取该属性,可以使用以下代码:
```csharp
Type type = typeof(Person);
PropertyInfo property = type.GetProperty("Name");
```
上面的代码将返回`Person`类中名为`Name`的属性。但是,如果属性名称的大小写与实际的`Name`属性不匹配,该方法将返回`null`。为了忽略大小写,可以添加`BindingFlags.IgnoreCase`选项:
```csharp
Type type = typeof(Person);
PropertyInfo property = type.GetProperty("name", BindingFlags.IgnoreCase | BindingFlags.Public | BindingFlags.Instance);
```
现在,`GetProperty()`方法将返回`Person`类中名为`Name`的属性,即使属性名称的大小写与实际的`Name`属性不匹配。