程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#制作一個消息攔截器(intercept)4

C#制作一個消息攔截器(intercept)4

編輯:C#入門知識

C#制作一個消息攔截器(intercept)4


ok,我們攔截器基本構造完成,接下來我來告訴大家如何去使用。

注意一個問題,object攔截器我們要攔截什麼,那麼我們就要在需要攔截的類上面做手腳了。

首先,創建我們需要被攔截的類。

然後,我們再對類進行相應的包裝:

1、該類要標記InterceptAttribute屬性

2、該類要繼承ContextBoundObject,只有繼承ContextBoundObject的類,vs才能知道該類需要訪問Context,這樣標記的InterceptAttribute才有效。

/// 
    /// If you want to add the interceptpool on this class , the class need to do:
    /// 1、inherited form ContextBoundObject.
    /// 2、mark the InterceptAttribute.
    /// 
    [Intercept]
    public class SimonDemo:ContextBoundObject
    {
        public SimonDemo()
        {
            Console.WriteLine(" Call 'SimonDemo' - 'Constructor'  ");
        }
        public void Operate1()
        {
            Console.WriteLine("Call 'SimonDemo' - 'Operate1' ");
        }
    }

然後,我們在Main函數中創建一個該類的對象,並進行調用方法。

 class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Call Main ..");

            SimonDemo simon = new SimonDemo();
            simon.Operate1();

            Console.WriteLine("exit Main ..");
            Console.Read();
        }
    }

這樣,通過調試,我們就可以看出攔截器都攔截出了什麼

\

接下來是運行結果:<喎?http://www.Bkjia.com/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHA+PGltZyBzcmM9"http://www.2cto.com/uploadfile/Collfiles/20140729/20140729092457304.jpg" alt="">

這樣可以看出我的程序攔截,並輸出了調用函數的名字。

在此僅提供一種方法,其余的使用方法有待研究。

寫到這裡我的攔截器實現完了,小弟了解尚淺,如有錯誤請高手們留言指出。


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved