Unity의 버전 2 (Prism4와 함께 제공됨)를 사용하고 있습니다. 등록되지 않은 유형의 열거 형을 반환 할 수있는 확장을 작성하려고합니다. 다음 코드는 필자가 작성한 것이지만 해결 호출 후 null이 발생합니다.유니티 사용자 정의 BuilderStrategy가 기존 속성을 설정 한 후에도 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());
}
항목 변수가 null로 판명되었습니다. 왜?
Unity의 어떤 버전이 Prism4와 함께 제공됩니까? –
2.0. 방금 질문을 업데이트했습니다. –