【发布时间】:2011-06-11 19:20:51
【问题描述】:
我正在使用 Unity 的第 2 版(Prism4 附带)。我正在尝试编写一个可以返回未注册类型的可枚举的扩展。以下代码是我编写的,但在解析调用后我得到了 null。
class EnumerableStrategy : BuilderStrategy
{
public override void PreBuildUp(IBuilderContext context)
{
context.Existing = new []{"Test"};
context.BuildComplete = true;
}
}
class EnumerableExtension : UnityContainerExtension
{
protected override void Initialize()
{
Context.BuildPlanStrategies.AddNew<EnumerableStrategy>( Microsoft.Practices.Unity.ObjectBuilder.UnityBuildStage.PreCreation);
}
}
static void Main(string[] args)
{
var container = new UnityContainer();
container.AddNewExtension<EnumerableExtension>();
var items = container.Resolve<IEnumerable<string>>();
foreach (var item in items)
Console.WriteLine(item.ToString());
}
Items 变量结果为空。为什么?
【问题讨论】:
-
Prism4 自带 Unity 的哪个版本?
-
2.0.刚刚更新了问题
标签: .net unity-container prism unity2.0 objectbuilder