无法使用反射设置 属性
Failed to set property using reflection
我正在创建动态 class 并使用反射分配 属性 值,class 有两个属性
public int Tipo_Pension {set;get;}
public bool Novedad_TDP {set;get;}
并且我使用以下代码来设置值。 VariableName是要设置的属性的名称,Value是要设置的属性的真实值,ruleMeta.Evaluator是binder。
private void SetVariable(string VariableName, object Value, RuleMeta ruleMeta)
{
o = ruleMeta.EvaluatorType.InvokeMember(
VariableName,
BindingFlags.Instance | BindingFlags.Public | BindingFlags.SetProperty,
Type.DefaultBinder,
ruleMeta.Evaluator,
new object[] { Value }
);
}
拳头 属性,整数,工作正常,但是当它为布尔值执行时失败并抛出下一个错误
Method 'Cenet.RulesManager.Rule360788846.Novedad_TDP' not found
知道会发生什么吗?
注意:布尔值的对象值以字符串形式出现:"false"
正如 M.kazem Akhgary 发布的那样,我正在使用字符串设置 bool,就这么简单。
我正在创建动态 class 并使用反射分配 属性 值,class 有两个属性
public int Tipo_Pension {set;get;}
public bool Novedad_TDP {set;get;}
并且我使用以下代码来设置值。 VariableName是要设置的属性的名称,Value是要设置的属性的真实值,ruleMeta.Evaluator是binder。
private void SetVariable(string VariableName, object Value, RuleMeta ruleMeta)
{
o = ruleMeta.EvaluatorType.InvokeMember(
VariableName,
BindingFlags.Instance | BindingFlags.Public | BindingFlags.SetProperty,
Type.DefaultBinder,
ruleMeta.Evaluator,
new object[] { Value }
);
}
拳头 属性,整数,工作正常,但是当它为布尔值执行时失败并抛出下一个错误
Method 'Cenet.RulesManager.Rule360788846.Novedad_TDP' not found
知道会发生什么吗?
注意:布尔值的对象值以字符串形式出现:"false"
正如 M.kazem Akhgary 发布的那样,我正在使用字符串设置 bool,就这么简单。