我有我的庫中的對象,如ObjA,ObjB,ObjC,ObjD ..泛型方法或繼承相似對象
我也有來自web服務的參考,SVCA,SvcB,SVCC,SVCD創建的對象。 。
需要注意的是,ObjA和SVCA是類似的,它們具有類似的領域(但不完全一樣的名字)
我有ObjA和SVCA映射下面的一段代碼。
public static SvcA[] GetSvcList (IList<libA> libList)
{
IList<SvcA> svcList = new List<SvcA>();
foreach(libA libObj in libList)
{
svcList.Add(libA.getSvcObject());
}
return svcList.ToArray();
}
public static IList<ObjA> GetLibList(SvcA[] svcList)
{
IList<ObjA> objList = new List<ObjA>();
foreach (SvcA svcObject in svcList)
{
objList.Add(new ObjA(svcObject))
}
}
ObjA(SvcA svcObject)
{
this.Field1 = svcObject.Field1;
this.Field2 = svcObject.F2;
}
public static GetSvcObject()
{
SvcA a = new SvcA();
a.Field1 = this.Field1;
a.F2 = this.Field2;
}
我無法修改Svc_類。但我可以修改Obj_類。如果我能做到這兩點,我想我可以從一個特定的對象派生出這兩個類並使用這些接口。
我想知道是否有可能避免重複SvcB-ObjB,SvcC-ObjC,SvcD-ObjD ..映射的所有代碼。
謝謝。對象具有不同的字段,因此不可能直接映射。我不確定automapper在這種情況下是否會非常有用。 我可以改爲定義getSvcObject和每個Lib類的構造函數,以便我可以使用上面的代碼創建列表。 T – Noel
是!這是要走的路。 – vendettamit