AOP 주입 방법 - MSIL 주입

4057 단어 AOP
PostSharp(Visual Studio Gallery)를 다운로드합니다.
AOP 컴파일러를 설치하고 PostSharp를 도입합니다.Aspects(설치하는 동안 무료 Express 버전을 사용하십시오) 및 초기 프레젠테이션 코드:
using PostSharp.Aspects;
using System;

namespace ConsoleApplication1
{
    [Serializable]
    public class AOPILTestAttribute : OnMethodBoundaryAspect
    {
        public override void OnEntry(MethodExecutionArgs args)
        {
            Console.WriteLine(""+args.Method.Name);
            var argumentList = args.Arguments;
            var arguments = args.Method.GetParameters();

            for (int i = 0; i <arguments.Length; i++)
            {
                Console.WriteLine("" + arguments[i].Name + "\t    :" + arguments[i].ParameterType + "\t    :" + argumentList[i]);
            }
        }
    }
    public class MainTest
    {
        public event Action<int> MyAction = null;

        public void Call()
        {
            MyAction(1);
        }
        [AOPILTest]
        static void Main(string[] args)
        {
            Console.WriteLine("  Main  ");
            MainTest mt = new MainTest();
            mt.MyAction += mt_MyAction;
            mt.Call();
        }
        [AOPILTest]
        static void mt_MyAction(int i)
        {
            Console.WriteLine("  Action,     :"+i);
        }
    }
}

좋은 웹페이지 즐겨찾기