我们可以使用.NET反射器执行方法。但有没有办法在执行方法时跳过基于某些条件的特定步骤? 例如:
public fn1()
{
int a=1,b=2,c=3;
//Step1
a=b;
//Ste2
b=c;
//Step3
c+=1;
}
这些步骤将在Excel中,附加一列"状态" [有效/无效]
现在,使用反射,有没有办法跳过标记为非活动的步骤?
答案 0 :(得分:1)
我认为可能会有一些关于反思的误解。当您在编译时没有自己的名字时,反思只不过是一种访问您的课程和成员的方法。
所以,不,当你致电fn1
时,你无法神奇地跳过一步。无论是明确调用还是使用反射进行调用。
但是,您可以设计代码,以允许调用者跳过该步骤(即使没有反射):
public fn1(bool executeStep2 = true)
{
int a=1,b=2,c=3;
//Step1
a=b;
//Step2
if (executeStep2) b=c;
//Step3
c+=1;
}
通过致电fn1(executeStep2: false)
,您将跳过第2步。