C#依赖项注入强制转换问题
我有几个类实现相同的接口C#依赖项注入强制转换问题,c#,.net,dependency-injection,casting,inversion-of-control,C#,.net,Dependency Injection,Casting,Inversion Of Control,我有几个类实现相同的接口 interface IBidManager<E> where E : IEntity public class BidManager : IBidManager<EntityObject1> public class BidManager2 : IBidManager<EntityObject2> public class BidManager3 : IBidManager<EntityObject3> 当我删除(IB
interface IBidManager<E> where E : IEntity
public class BidManager : IBidManager<EntityObject1>
public class BidManager2 : IBidManager<EntityObject2>
public class BidManager3 : IBidManager<EntityObject3>
当我删除(IBidManager)时,visual studio告诉我存在显式转换。。。但这是什么呢
我不想在创建BusinessManager类时定义类型,如下所示:
public class BusinessManager<E> : ManagerBase where E : class, IEntity
{
IBidManager<E> _bidLogicManager;
公共类BusinessManager:manager数据库,其中E:class,icity
{
IBidManager_bidLogicManager;
此外,我无法在Business manager中创建一个函数,该函数采用
IBidManager
参数,因为这是一个n层asp.net应用程序,我不希望UI层了解任何有关IBidManager的信息。如果您可以使用.net 4.0,您可以通过协方差解决您的强制转换问题
interface IBidManager<out E> where E : IEntity.
接口IBidManager,其中E:IEntity。
如果您可以使用.Net 4.0,您可以通过协方差解决您的强制转换问题
interface IBidManager<out E> where E : IEntity.
接口IBidManager,其中E:IEntity。
是的,看起来很有效!我想只需要3个字母就能解决它。哈哈。谢谢!是的,看起来很有效!我想只需要3个字母就能解决它。哈哈。谢谢!
public class BusinessManager<E> : ManagerBase where E : class, IEntity
{
IBidManager<E> _bidLogicManager;
interface IBidManager<out E> where E : IEntity.