Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#依赖项注入强制转换问题_C#_.net_Dependency Injection_Casting_Inversion Of Control - Fatal编程技术网

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.