我在傳遞列表中遇到了接受不同類型參數的方法中的問題。從一種類型到另一種類型的列表清單
我有我的名字空間下面的方法:Common.DB2(一個classlibrary)
public List<MyModel> GetDB2Data()
{
//Get data from db2
}
凡爲MyModel屬於Common.Db2命名空間
我有我的名字空間Common.Sql另一種方法(另一個Classlibrary)
public void PostToSql(List<MyModel> listData)
{
//Post data to sql
}
凡爲MyModel屬於Common.Sql命名空間
所以基本上我從我的db2中獲取一些數據並將其發佈到sql。
在另一個類庫我得到這個數據和後數據爲:
//Get Data
var data = db2Repo.GetDB2Data();
//Post Data
sqlRepo.PostToSql(data);
在這裏,在上面一行失敗,說明
Argument 1: cannot convert from
'System.Collections.Generic.List<Common.DB2.MyModel>' to
'System.Collections.Generic.List<Common.Sql.MyModel>'
我曾試圖鑄造象下面這樣:
List<Common.Sql.MyModel> sourceList = new List<Common.Sql.MyModel>();
sourceList = data.Cast<Common.Sql.MyModel>().ToList();
但上面再次拋出異常
Unable to cast object of type 'Common.DB2.MyModel' to type
'Common.Sql.MyModel'.
什麼更好的辦法來處理/設計這一點。
那麼你怎麼指望* *它從'Common.Db2.MyModel'到'Common.Sql.MyModel'轉換?你們沒有向我們展示任何有關這些課程的任何信息。 –
您需要創建一種類型的MyModel並將其移至常見位置,並且共享位置的Common.Sql和Common.DB2引用,而不是每個具有其自己版本的MyModel的類。 – Hack
這兩個類中的任何一個是否具有隱式/顯式運算符用於投射? –