我正在GetProperty使用反射的C#方法.
obj.GetType()的getProperty( "列名")
但是我无法保证列名称的确切外壳,因为它来自外部源.它可能ColumnName或columnname
我在想是否可以强制将字符串列名称强制为大写,但是如何处理对象本身的属性呢?getProperty方法看起来需要是EXACT外壳吗?
您可以使用
var prop = GetProperty("columnname",
BindingFlags.Instance |
BindingFlags.Public |
BindingFlags.IgnoreCase);
Run Code Online (Sandbox Code Playgroud)
请注意,您仍然需要Instance和Public位(假设这是一个公共实例属性),否则它将找不到任何内容.
查找房产时可以忽略这种情况.
GetProperty(fieldname, BindingFlags.IgnoreCase | BindingFlags.Public | BindingFlags.Instance);
Run Code Online (Sandbox Code Playgroud)