采用PostSharp实现

Posted WangWeixin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了采用PostSharp实现相关的知识,希望对你有一定的参考价值。

1、创建控制台程序

2、通过Nuget添加PostSharp引用

3、定义注入类(实现方法的Entry,Exit,Exception,Success功能),如:

[Serializable]
    class MyAspect : OnMethodBoundaryAspect
    {
        public override void OnEntry(MethodExecutionArgs args)
        {
            Console.WriteLine("On Entry!");
        }

        public override void OnExit(MethodExecutionArgs args)
        {
            Console.WriteLine("On Exit!");
        }

        public override void OnException(MethodExecutionArgs args)
        {
            Console.WriteLine("On Exception!");
        }

        public override void OnSuccess(MethodExecutionArgs args)
        {
            Console.WriteLine("On Success!");
        }
    }

4、定义一个业务类,并在方法上添加【注入类】属性,如:

    class MyClass
    {
        [MyAspect]
        public void MyMethod()
        {
            Console.WriteLine("Hello,AOP!");
        }
    }

5、在Main中使用业务类,如:

    class Program
    {
        static void Main(string[] args)
        {
            MyClass myClass = new MyClass();
            myClass.MyMethod();
            Console.Read();
        }
    }

6、运行,输出:

On Entry!
Hello,AOP!
On Success!
On Exit!

以上是关于采用PostSharp实现的主要内容,如果未能解决你的问题,请参考以下文章

PostSharp AOP

PostSharp 是分析生产中运行的代码的好方法吗?

PostSharp零基础快速入门

使用 PostSharp 调试的 TFS 构建 |任何 CPU

PostSharp 对 Visual Studio 2005 的支持?

PostSharp-4.3.33安装包_KeyGen发布