2016-11-28 93 views
1

我有我使用映射實體的接口對象域對象助理使用C#泛型

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>{ 
} 

謝謝!

+0

唯一的方法是返回'IDataEntity'而不是'T2',但是你基本上失去了從第二個類型通用的強類型。 – juharr

回答

3

你不能。你將不得不寫出完整的泛型參數列表。

+0

雅我嘗試不同的事情,但我沒有運氣。感謝您的幫助。 –