1
열려있는 제네릭 형식을 모두 기본 규칙으로 등록하려고합니다. 아래와 같이 기본 규칙을 사용하면 유형이 올바르게 등록되었는지 확인할 수 있습니다.구조체가 열린 제네릭을 기본 규칙으로 올바르게 등록 할 수 없습니다.
그러나 문제를 해결하려고하면 다음 오류가 발생합니다.
없음 기본 인스턴스가 등록되지 않고 자동으로 유형을 판별 할 수없는 'IGenericClass'여기
public DefaultRegistry()
{
Scan(
scan =>
{
scan.AssembliesFromApplicationBaseDirectory(
a => a.FullName.StartsWith("StructureMapApp"));
scan.WithDefaultConventions();
});
}
var container = new Container(x =>
{
x.AddRegistry(new DefaultRegistry());
});
container.WhatDoIHave();
var result = container.GetInstance<IGenericClass<DummyClass>>();
인 container.WhatDoIHave() container.WhatDoIHave를() 내가
container.Configure(x => x.For(typeof(IGenericClass<>)).Use(typeof(GenericClass<>)));
var sad = container.GetInstance<IGenericClass<DummyClass>>();
는 기본 규칙으로 만든 두 registries.The 레지스트리 사이에 약간의 차이가 명시 동안 조립 및 모델 이름을 포함입니다 알다시피 container.WhatDoIHave는()
결과입니다 하나는 가지고 있지 않다.
어떤 자동차가없이 열려있는 모든 제네릭 등록 방법은 명시 적으로 그들 모두를 제공하는이 있습니까?
DefaultRegistry 무엇으로 추가? – Evk
그것을 잊어 버렸습니다. 추가했습니다. – erhan355
제가 아는 한 - 기본 규칙은 그렇게하기위한 것이 아니며, 사용자 정의 regitration convention을 작성해야합니다. – Evk