【发布时间】:2009-11-14 19:03:45
【问题描述】:
var property = obj.GetType().GetProperty(blockName);
if (property == null)
{
var method = obj.GetType().GetMethod(blockName);
if (method == null)
return "[" + blockName + "]";
else
return method.Invoke(obj, null).ToString();
}
else
return property.GetValue(obj, null).ToString();
此代码应查找名为blockName 的值的属性。如果找到该属性,则应返回其值。如果没有,它应该查找名为blockName 的函数的值。如果找到,它应该调用它并返回返回值。如果它没有找到该方法,它应该返回 [blockName's value]。
效果很好,但我正在寻找提高效率的方法。我不想将方法转换为属性或将属性转换为方法,因为将来我也会添加参数。你能帮帮我吗?
谢谢。
【问题讨论】:
标签: c# performance reflection