通过String Force大写获取属性?

ahe*_*ick 0 c#

我正在GetProperty使用反射的C#方法.

obj.GetType()的getProperty( "列名")

但是我无法保证列名称的确切外壳,因为它来自外部源.它可能ColumnNamecolumnname

我在想是否可以强制将字符串列名称强制为大写,但是如何处理对象本身的属性呢?getProperty方法看起来需要是EXACT外壳吗?

Jon*_*eet 7

您可以使用

var prop = GetProperty("columnname",
                       BindingFlags.Instance | 
                       BindingFlags.Public | 
                       BindingFlags.IgnoreCase);
Run Code Online (Sandbox Code Playgroud)

请注意,您仍然需要InstancePublic位(假设这一个公共实例属性),否则它将找不到任何内容.


Jus*_*son 6

查找房产时可以忽略这种情况.

GetProperty(fieldname, BindingFlags.IgnoreCase | BindingFlags.Public | BindingFlags.Instance);
Run Code Online (Sandbox Code Playgroud)