日期:2014-05-18  浏览次数:20953 次

C#有点问题。。。。特来请教一番!!
C#如何能做到在文件里定义要调用的函数??
比如我在XML文件里写:
<function attr="15, 22">max</function>

如何才能在C#里解析XML文件的时候调用max函数并且提交15和22这2个参数呢???

------解决方案--------------------
通过XML就是为了找 max 然后 attr属性

然后 if(functionname == "max")
max(a,b);
else(functionname == "min")
min(a,b);

不过你这个需求很怪
------解决方案--------------------
public void CallObjMethod(object o, string methodname, object[] args)
{
try
{
o.GetType().InvokeMember(methodname, BindingFlags.Public | BindingFlags.Instance, null, o, args);
}
catch (Exception ex)
{
//throw new InvalideParameterException("Core: ObjectManager fail to call object method " + methodname + "." + ex.Message);
}
}
------解决方案--------------------
用反射找到方法,生成object[] 给参数列表,中间用Convert.ChangeType转化到目标类型。
反射调用。