Microsoft 사이트에서 제공하는 다음 예제를 사용하려고합니다. 유형별로 해석하는 동안 컴파일 타임 오류가 발생합니다. 유니티 컨테이너를 사용하여 유형을 전달하여 해결하는 방법은 무엇입니까?
http://msdn.microsoft.com/en-us/library/vstudio/hh323725(v=vs.100).aspx
이 코드에서 문제가 어떻게이 문제를 해결하려면?public class DependencyInjectionInstanceProvider : IInstanceProvider
{
private readonly Type _ServiceType;
public DependencyInjectionInstanceProvider(Type serviceType)
{
_ServiceType = serviceType;
}
public object GetInstance(InstanceContext instanceContext)
{
return GetInstance(instanceContext, null);
}
public object GetInstance(InstanceContext instanceContext, Message message)
{
return DependencyFactory.Resolve(_ServiceType); //error
}
public void ReleaseInstance(InstanceContext instanceContext, object instance)
{
}
}
public class DependencyFactory
{
private static IUnityContainer _container;
public static IUnityContainer Container
{
get
{
return _container;
}
private set
{
_container = value;
}
}
static DependencyFactory()
{
var container = new UnityContainer();
var section = (UnityConfigurationSection)ConfigurationManager.GetSection("unity");
if (section != null)
{
section.Configure(container);
}
_container = container;
}
public static T Resolve<T>()
{
T ret = default(T);
if (Container.IsRegistered(typeof(T)))
{
ret = Container.Resolve<T>();
}
return ret;
}
}
나는 그걸 찾을 수만 있다면 대답이 단순한 것이라는 것을 안다. – hal9000