我正在尝试拥有一个基类并使用统一注册默认拦截。我还在解析之前注册了每个派生类型,但它不起作用。我希望 BaseMethod 在这里被截获,但事实并非如此。
public class AbstractResponse
{
private string name;
public virtual void BaseMethod()
{
Console.WriteLine("Base");
}
}
public class DocumentResponse:AbstractResponse
{
public virtual void Test()
{
Console.WriteLine("In Test Method");
}
}
var container = new UnityContainer(); container.AddNewExtension<Interception>();
container.RegisterType<AbstractResponse>(
new DefaultInterceptor<VirtualMethodInterceptor>(),
new DefaultInterceptionBehavior<TraceBehavior>()).
RegisterType<AbstractResponse,DocumentResponse>();
container.Resolve<DocumentResponse>().BaseMethod();