我想爲自定義類型編寫一個轉換器類 - 將一個類型(及其所有屬性)轉換爲具有匹配屬性的另一個類型。如何投一個複合自定義類型到另一個
問題出現在屬性也是自定義類型時,而非簡單類型。
自定義類型完全相同,只是它們位於同一解決方案中的不同名稱空間中。
TypeTwo對象是Webservice引用。
例如
public TypeOne ConvertToTypeTwo (TypeTwo typeTwo)
{
var typeOne = new TypeOne();
typeOne.property1 = typeTwo.property1; //no problem on simple types
typeOne.SubType = typeTwo.SubType; //problem!
...
}
我上線得到上面的錯誤是:
錯誤166無法隱式轉換類型 'TypeTwo.SubType' 到 'TypeOne.SubType'
我試過像這樣鑄造
typeOne.SubType = (TypeOne)typeTwo.SubType;
但得到:
錯誤167無法將類型 'TypeTwo.SubType' 到 'TypeOne.SubType'
而像這樣
typeOne.SubType = typeTwo.SubType as TypeOne;
但得到:
錯誤168無法通過引用將類型'TypeTwo.SubType'轉換爲'TypeOne.SubType' ENCE 轉換,裝箱轉換,取消裝箱轉換,包裝 轉換,或null類型轉換
我不知道我有什麼其他選擇,或者,如果我只是在做某種根本性錯誤。 有什麼想法?
謝謝。你的建議做到了訣竅。我爲子類型編寫了一個單獨的轉換器,然後調用該方法而不是嘗試不可能的轉換。再次感謝! –