通过字符串动态调用方法

时间:2014-01-06 06:59:25

标签: c# coded-ui-tests

我有很多方法 this.UIMap.FirstName,this.UIMap.LastName,this.UIMap.Email等等..在我的编码UI设计器中。 页面中的每个字段在设计器中都有一个方法。 我正在准备一个类似的框架,字段名称取自excel,应该执行相应的方法,结果应该写在excel的最终STATUS列中的字段名称上。

我是否清楚自己? :) 如果是这样,我该如何调用这样的方法。 我写过这样的话:

    string fieldname = WorkSheet.Cells[i, 2].Value;                         
    UIMap uimap = new UIMap();
    Type thisType = typeof(UIMap);
    thisType.InvokeMember(fieldname , BindingFlags.InvokeMethod | BindingFlags.Public,
 null, uimap,null);

但它抛出错误:

测试方法SampleDemo.CodedUITest1.CodedUITestMethod1抛出异常: System.MissingMethodException:找不到方法'SampleDemo.UIMap.FirstName1'。

1 个答案:

答案 0 :(得分:0)

你的FirstName是一个函数还是它只是一个属性?如果它是一个属性,所以你可以从中获取值而不是通过反射调用方法

typeof(UIMap).GetProperty("FirstName").GetValue(this.UIMap)

像这样的代码