C# 泛型中的隐式转换失败 public类ExternalUserService:ServiceBase、IServiceBase、IDisposable { 公共ExternalUserService():base() {在这里输入代码 } 公共外部用户服务(IBusinessEntityMap entityMap、字符串连接字符串) { repository=新的BusinessModelRepository(typeof(ExternalUserMap),ConnectionString); } } [ServiceContract(ConfigurationName=“IServiceBase”,命名空间=”http://xyz.com")] 公共接口IServiceBase,其中tenty:BusinessEntityBase,new() { [经营合同] } [DataContract(IsReference=true)] 公共类外部用户:BusinessEntityBase { //一些实体工作 }

C# 泛型中的隐式转换失败 public类ExternalUserService:ServiceBase、IServiceBase、IDisposable { 公共ExternalUserService():base() {在这里输入代码 } 公共外部用户服务(IBusinessEntityMap entityMap、字符串连接字符串) { repository=新的BusinessModelRepository(typeof(ExternalUserMap),ConnectionString); } } [ServiceContract(ConfigurationName=“IServiceBase”,命名空间=”http://xyz.com")] 公共接口IServiceBase,其中tenty:BusinessEntityBase,new() { [经营合同] } [DataContract(IsReference=true)] 公共类外部用户:BusinessEntityBase { //一些实体工作 },c#,generics,C#,Generics,我正在尝试编写服务主机工厂,这样我就可以拥有单个主机并基于实体。这样我就可以有一个主人了。差不多 公共类BaseServiceFactory:ServiceHostFactory 其中x:BusinessEntityBase,new() 其中z:IServiceBase 其中y:class,new() { 受保护的覆盖System.ServiceModel.ServiceHost CreateServiceHost(类型serviceType,Uri[]baseAddresses) { Ser

我正在尝试编写服务主机工厂,这样我就可以拥有单个主机并基于实体。这样我就可以有一个主人了。差不多

公共类BaseServiceFactory:ServiceHostFactory
其中x:BusinessEntityBase,new()
其中z:IServiceBase
其中y:class,new()
{
受保护的覆盖System.ServiceModel.ServiceHost CreateServiceHost(类型serviceType,Uri[]baseAddresses)
{
ServiceHost主机=新的ServiceHost(serviceType,baseAddresses);
ServiceEndpoint=host.AddServiceEndpoint(typeof(z),新的BasicHttpBinding(),“”);
返回主机;
}
}
公共抽象类BusinessEntityBase:IBusinessEntity
其中tenty:class,new()
{
}
我在第10行(BaseServiceFactory类的声明)中得到以下错误


类型“x”不能用作泛型类型或方法“Service.IServiceBase”中的类型参数“tenty”。没有从“x”到“BusinessModel.BusinessEntityBase”的隐式引用转换。D:\Service\BaseServiceFactory.cs 10 18 Security.Service

哪一行是第84行?IFusionServiceBase类在哪里?您发布的代码似乎与错误消息不匹配。谢谢Dan,我更正了它。错误出现在第10行(BaseServiceFactory类的声明)。此外,我还编辑了实际的名称空间。所以这是伊瑟维切贝斯。还更正了错误消息。(84不是行号。它是sl.no。已将其删除)
    public class ExternalUserService : ServiceBase<ExternalUser>, IServiceBase<ExternalUser>, IDisposable
        {
            public ExternalUserService():base()
            {enter code here

            }

            public ExternalUserService(IBusinessEntityMap entityMap,string ConnectionString)
            {
                repository = new BusinessModelRepository(typeof(ExternalUserMap), ConnectionString);
        }
    }

 [ServiceContract(ConfigurationName = "IServiceBase", Namespace = "http://xyz.com")]

    public interface IServiceBase<TEntity> where TEntity : BusinessEntityBase<TEntity>, new()
    {
        [OperationContract]
    }

 [DataContract(IsReference = true)]
    public class ExternalUser : BusinessEntityBase<ExternalUser>
    {
//some entity work
        }
<%@ ServiceHost Factory="Service.BaseServiceFactory`1[BusinessEntityBase<ExternalUser>,IServiceBase<ExternalUser>,ExternalUser]" 
public class BaseServiceFactory<x,y,z> : ServiceHostFactory
       where x : BusinessEntityBase<y>,new()
        where z : IServiceBase<x>
        where y : class,new()
    {

        protected override System.ServiceModel.ServiceHost CreateServiceHost(Type serviceType, Uri[] baseAddresses)
        {


            ServiceHost host = new ServiceHost(serviceType, baseAddresses);
            ServiceEndpoint endpoint = host.AddServiceEndpoint(typeof(z), new BasicHttpBinding(), "");

            return host;
        }
    }

 public abstract class BusinessEntityBase<TEntity> : IBusinessEntity<TEntity>
        where TEntity : class, new()
    {
}