【问题标题】:Assistant Using C# Generics使用 C# 泛型的助手
【发布时间】:2017-04-12 13:34:39
【问题描述】:

我有一个用于将实体对象映射到域对象的接口

public interface IDataEntity<in T1, out T2> where T1 : new() where T2 : new()
{
    T2 Map(T1 obj);
} 

实施

public class MyEntityObj : IDataEntity<MyEntityObj, MyDomainObj>
{
     //props
     public MyDomainObj Map(MyEntityObj obj){
        // mapping here
        return new MyDomainObj();
     }
}

如何编写接口以允许我编写这样的实现

 public class MyEntity : IDataEntity<MyDomainObj>{
 }

谢谢!

【问题讨论】:

  • 唯一的方法是返回IDataEntity而不是T2,但是你基本上失去了你想要的强类型,因为第二种类型是通用的。

标签: c# generics mapping domain-model


【解决方案1】:

你不能。您必须写出完整的通用参数列表。

【讨论】:

  • 是的,我尝试了不同的东西,但我没有运气。感谢您的帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-07-21
  • 1970-01-01
  • 2015-01-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多