C# 混凝土类型中对StructureMap容器的引用
我正在使用DynamicProxy和StructureMap设计一个简单的aspects框架,我遇到了一个问题。我的注册表中有以下方法:C# 混凝土类型中对StructureMap容器的引用,c#,structuremap,C#,Structuremap,我正在使用DynamicProxy和StructureMap设计一个简单的aspects框架,我遇到了一个问题。我的注册表中有以下方法: public T AddAspectsTo<T>(T concreteObject) { ProxyGenerator dynamicProxy = new ProxyGenerator(); return (T)dynamicProxy.CreateInterfaceProxyWithTargetInterface(typeof(
public T AddAspectsTo<T>(T concreteObject)
{
ProxyGenerator dynamicProxy = new ProxyGenerator();
return (T)dynamicProxy.CreateInterfaceProxyWithTargetInterface(typeof(T)
,concreteObject,
new[] { (IInterceptor)new AspectInterceptor(attributeMap) });
}
而不是标准的ObjectFactory stuff,后者工作正常。要充实的实例可以通过lambda获得:
For<ITestClass>().Use<TestClass>().EnrichWith(x => AddAspectsTo<ITestClass>(x));
For().Use().EnrichWith(x=>AddAspectsTo(x));
这实际上是我正在寻找的IContainer对象的实例,而不是正在实例化的类的实例,我已添加到问题中以尝试澄清。
IContainer container = new Container(new ItemWithPropertiesRegistry());
For<ITestClass>().Use<TestClass>().EnrichWith(x => AddAspectsTo<ITestClass>(x));