0
我面临验证其验证属性与相应字段名称关联的属性的问题。C#从属性中检索字段名
int _myIntField;
public int MyIntField {
get { return _myIntField; }
set { _myIntField = value; }
}
现在,在验证Binding
对象的时候,我有机会获得BindingField
,它返回属性名MyIntField
,而不是字段名_myIntField
。
是否有可能以某种方式检索_myIntField
的财产?如果是这样,怎么样?
那么如果你的命名规则是坚实的,你可能只是做了更换的第一个字母...'字符串名称=“_” + Char.ToLowerInvariant(输入[0])+ input.Substring (1);' – musefan
你可能可以去Roslyn了。至于这样做的工厂方式,请考虑以下内容:'int Foo {get {return _bar * _baz> 0? _pete:_barney; }}。 “Foo”的领域是什么?你可以选择编写代码来对这个问题作出一个假设或另一个假设,但是.NET框架无法做出任何对每个人都有意义或有用的假设。 –
[如何从PropertyInfo获取Getter后台字段?](http://stackoverflow.com/questions/38490739/how-to-get-getter-backing-field-from-propertyinfo) – thehennyy