2015-08-16 41 views
0

我希望做一個dll文件,包括像一些方法:執行的方法後的dll方法解僱了

add() 
edit() 
list() 
get() 
delete() 
... 

,所以我想找到了當的方法燒製(類似記錄) 我想每一次事件在我的DLL解僱,請致電項目的方法(包括DLL作爲參考)

我不能這樣使用:

mydllclass.add(); 
mymethod(); 

我想辦法,使經過這一點(從任何地方)方法調用mymethod。

例如,如果在add()方法體內調用edit(),我想知道這一點。

所以:

bProject  
+ default.aspx 
+ bin > mydll.dll ===> [ add() edit() ... ] 
+ myclass > mymethod() ===> target ! 

如何應該是我的班,我的方法的dll?以及如何解決它?

(或更好的建議)

謝謝

+0

消防每次的方法之一調用事件。 –

+0

!! ?? !!怎麼樣 !!??!! – Bojbaj

回答

1

聲明一個event一個觸發間隔爲你的方法被調用的時間。 (您可以隨時使用AOP更好的結構。)

class TestClass 
{ 
    public event Action<string> MethodCall; 

    public void Add() 
    { 
     MethodCall("Add Called"); 

     Edit(); 
    } 

    public void Edit() 
    { 
     MethodCall("Edit Called"); 
    } 
} 

class Program 
{ 
    public static void Main(string[] args) 
    { 
     var c = new TestClass(); 
     c.MethodCall += Console.WriteLine; 

     c.Add(); 

     Console.ReadKey(); 
    } 
} 

將輸出:

Add Called 
Edit Called 
+0

這是很大的幫助。 我沒有像之前那樣的事件工作,所以我需要一些搜索和嘗試。 感謝AOP太;) – Bojbaj

+0

@Bojbaj很高興提供幫助。 –