我有一个C#反思问题,我不确定如何实现。
我需要允许访问我正在处理的产品的XML配置文件中的字符串方法。
例如:
<someElement field="someField.Substring(5,10)">
我可以很容易地收集方法 - 子串 - 和参数 - 5和10。
如果重载方法具有相同数量的参数,但类型不同,当我无法确定输入参数类型时,如何知道使用哪一个?
目前我可以尝试将参数转换为签名中的类型,如果它们通过则执行该方法。如果他们没有通过转换,那么我肯定不会使用该方法。如果两种方法成功,那么我就输了。
另一个选项是强制配置文件中的用户将类型放在参数之前,如:
<someElement field="someField.Substring(int 5, int 10)">
这是我认为我必须要做的事情,除非我错过了反思的一些方面,这会使这更容易(我没有多少经验使用反射)。
编辑:总体目标是允许我公司的专业服务部门(他们将为新客户执行产品部署)能够调整客户提供的输入以满足他们的要求。对于某些客户,我的公司需要根据许多因素操纵输入数据(以为该客户端配置系统之前未知的方式)。这可能是客户在部署产品后更改了数据结构或数据格式。或者这可能是由于将多个客户端登上单个安装,我们需要区分两个名称相似的客户等......
我需要创建一种处理大量情况的方法,我认为这将提供最大的灵活性。