我有以下。
public interface IMyService<T>
where T: BaseModelType
{
Process(T input);
}
public class BaseModelType
{
...some property
}
public class SomeClass : BaseModelType
{
...some properties
}
public ServiceImpl : IMyService<SomeClass>
{
...the properties
}
然后我有一个统一容器,我在其中注册了通用接口的所有实现。我希望能够使用 unitycontainer 的 resolve 方法来获取接口,然后对其进行一些工作。当我想使用 Resolve 方法时,我在运行时有类型
new UnityContainer.Resolve(myTypeVar)
我能以某种方式把它变成
IMyService<BaseModelType> value = new UnityContainer.Resolve(myTypeVar) //want to cast it here from object.
这样我就可以调用接口定义的 Process 方法。