我希望创建一个自定义属性来抑制方法在 C# 中执行,即使它被调用。例如,在下面的代码块中,如果方法具有“Skip”属性,则即使从 Main 调用它也不应执行。
public class MyClass {
public static void main()
{
aMethod();
}
[Skip]
public void aMethod() {
..
}
}
如何在 C# 中使用反射来实现这一点?
在下面的代码片段中,我设法提取了带有 Skip 属性的方法,我只是不知道如何阻止它们执行!
MethodInfo[] methodInfos = typeof (MyClass).GetMethods();
foreach (var methodInfo in methodInfos)
{
if (methodInfo.HasAttribute(typeof(SkipAttribute)))
{
// What goes here ??
}
}
任何在正确方向上的帮助或建议都是最受欢迎的:)