如何使用特定方法调用创建[Tag]?

时间:2014-02-17 10:17:12

标签: c# tags c#-5.0

我想创建一个具有特定语义目的的新自定义“[Tag]”。

图片你有一个服务方法列表,你想要其中一些记录一些信息:实际上我正在做类似的事情

public void Method(parameters)
{
   LogMethodCall();

   //Method Body
}

实际上我更喜欢创造类似的东西:

[LogEnabled]
public void Method(parameters)
{
   //Method Body
}

并在某处存储了类似的内容:

if (Method is LogEnabled) LogMethodCall()

这可能吗?在C#中存在这种可能性?怎么称呼?

1 个答案:

答案 0 :(得分:2)

使用postsharp

有了它,您可以创建一个名为aspect的东西。你的看起来像是:

public class LogEnabled : OnMethodBoundaryAspect
{
        public override void OnEntry(MethodExecutionArgs args)
        {
            Logger.LogMethodCall();
        }
}

免费,快递版将是您所需要的一切

这些被称为属性,而不是“标签”