3

在我的项目中,我将 structureMap.Net4 (version 3.0.3) 与 StructureMap (3.0.3) 一起使用。我使用以下代码配置了 Ioc 以进行 setter 注入

public static IContainer Initialize()
        {

            ObjectFactory.Initialize(x =>
                        {





                            x.For<ICacheManager>().Use<MemmoryCacheManager>();
                            x.SetAllProperties(y => y.OfType<ICacheManager>);
                            //x.ForConcreteType<AuthorizationManager>()
                            //    .Configure.Setter<ICacheManager>(y => y.CacheManager)
                            //    .IsTheDefault();
                        });
            return ObjectFactory.Container;
        }

但我收到错误无法解析符号 SetAllProperties 。我已经引用了以下命名空间

using StructureMap;
using StructureMap.Graph;

为什么我收到此错误?我怎么能解决这个问题?或者我应该引用任何其他命名空间

4

2 回答 2

11

StructureMap 3 已更改配置 Setter 注入的位置。它现在使用 配置PolicyExpression,可以在 访问ConfigurationExpression.Policies。我在下面附上了一个样本。

ObjectFactory.Configure(x =>
{
    x.Policies.SetAllProperties(y => y.OfType<ICacheManager>());
});
于 2014-06-16T00:40:02.947 回答
0

尝试戴上牙套

x.SetAllProperties(y => y.OfType<ICacheManager>());
于 2014-06-12T11:12:50.500 回答