2011-05-13 42 views
0

我有以下情況。如何將策略注入添加到私有方法

我們有一個私人方法,我想通過使用一個handlerAttribute來添加policyinjection。這個方法由我的界面中定義的幾個不同的公共方法調用。我在工廠實例化存儲庫,在那裏我返回包裝的對象。直到現在,我無法得到我的私人方法的policyinjection。我是否用錯誤的方式來包裝對象?我也嘗試通過直接實例化一個存儲庫對象來創建包裝對象。到目前爲止,我只將該屬性添加到公共方法中,在這種情況下,我在正在正常工作的接口中添加了該屬性。希望任何人都能掌握如何完成這項工作。

見下面我的實現:

// My factory implementation 
public static ICacheRepository Repository() 
{ 
    return PolicyInjection.Create<CacheRepository, ICacheRepository>(); 
} 

// My repository 
public class CacheRepository : MarshalByRefObject, ICacheRepository 
{ 
    public void Add(string name) 
    { 
     Check(name); 
    } 

    public void Update(string name) 
    { 
     Check(name); 
    } 

    public void Delete(string name) 
    { 
     Check(name); 
    } 

    [NotNull] // <= HandlerAttribute 
    private bool Check(string name) 
    { 
     return true; 
    } 
} 

// My CacheRepository interface. 
public interface ICacheRepository 
{ 
    void Add(string name); 
    void Update(string name); 
    void Delete(string name); 
} 

回答