C# 混凝土类型中对StructureMap容器的引用

C# 混凝土类型中对StructureMap容器的引用,c#,structuremap,C#,Structuremap,我正在使用DynamicProxy和StructureMap设计一个简单的aspects框架,我遇到了一个问题。我的注册表中有以下方法: public T AddAspectsTo<T>(T concreteObject) { ProxyGenerator dynamicProxy = new ProxyGenerator(); return (T)dynamicProxy.CreateInterfaceProxyWithTargetInterface(typeof(

我正在使用DynamicProxy和StructureMap设计一个简单的aspects框架,我遇到了一个问题。我的注册表中有以下方法:

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));