1
在解決相關組件的任何實例後,是否有任何簡單的方法可以在我的IInterceptor上獲取方法?有點像IOnBehalfAware,但這樣它會被實際的組件實例調用,而不是ComponentModel。在組件實例上調用城堡攔截器
在解決相關組件的任何實例後,是否有任何簡單的方法可以在我的IInterceptor上獲取方法?有點像IOnBehalfAware,但這樣它會被實際的組件實例調用,而不是ComponentModel。在組件實例上調用城堡攔截器
結束了做這樣的事情...定義一個接口,我IInterceptor
(S)執行:
public interface IInstanceAware
{
void Execute(object instance);
}
然後註冊組件(S)時,做
registration.OnCreate((kernel, instance) =>
{
var accessor = instance as IProxyTargetAccessor;
foreach(var instanceAware in accessor.GetInterceptors().OfType<IInstanceAware>())
{
accessor.Execute(instance);
}
};
究竟你想做什麼,爲什麼? – 2012-01-05 11:00:57
我對截取的組件的成員(屬性)有一些屬性。我希望我的攔截器能夠反映我的組件,並在解決問題後立即應用一些邏輯,然後存儲結果。我不能使用常規的OnCreate委託,因爲相同的IInterceptor實例在它攔截方法調用時稍後需要該數據。 – Jeff 2012-01-05 15:37:02