是否可以创建自定义方法属性来控制方法签名或方法的参数?

时间:2018-04-10 14:39:02

标签: c# attributes custom-attributes method-signature

我想在类中控制某些方法的签名,以便在方法没有我想要的签名时抛出编译错误。

我原以为要创建一个自定义属性,如下所示:

public class CustomAttributeForMethodWithStringParameterFirstAttribute : Attribute
{
}

public class MyClass
{
   [CustomAttributeForMethodWithStringParameterFirst]
   public void Method1 (string p)
   {
   }

   [CustomAttributeForMethodWithStringParameterFirst]
   public void Method2 ()  // <--- I wish a compile error
   {
   }
}

但是......现在我不知道如何继续。 是否可以通过属性来做到这一点?

提前致谢。 如果没有,有什么办法吗?

修改 对不起,我简化了我的方案以解决具体问题。 我正在为WCF服务编写接口,我希望在接口中实现这个属性。某些方法必须在第一个位置有一个字符串参数用于自定义操作。 在方法调用我的服务之前,我已经开发了一个自定义属性来处理第一个参数。

public interface MyInterface
{
   [CustomAttributeForMethodWithStringParameterFirst]
   void Method1 (string p);

   [CustomAttributeForMethodWithStringParameterFirst]
   void Method2 ();  // <--- I wish a compile error
}

0 个答案:

没有答案