我在C#中的產品類,從其他產品類麻煩用明確的轉換
using ExternalAssemb.ProductA;
public class MyProduct : ProductA
{
//....
}
我試圖做從產品A有明確的轉換是在我引用的DLL繼承,但它告訴我,這是無法投
MyProduct myProduct = (MyProduct)productAobject;
結果:: System.InvalidCastException:無法投型 'ExternalAssemb.ProductA' 的對象鍵入 'MyAssembly.MyProduct'。
我在做什麼錯?
或者顯式類型轉換操作符的'實現ProductA' – zerkms 2010-08-15 23:14:41
@zerkms:這是真的,但它也是一個與自然繼承不同的事物。沒有什麼能阻止我讓「Aardvark」定義一個明確的演員陣容爲「Building」,但這與Aardvarks實際上並不是建築物無關。相反,'Aarvark'實例必須返回'Building'實例,可能是通過創建一個實例。簡而言之,它看起來像投射,但它不是*真的*投射。 – 2010-08-15 23:17:31
如果我將MyProduct轉換爲ProductA我如何轉到MyProduct屬性。我每次都必須這樣做嗎? ((myProduct的)產品A).MyProductProperty。 – user204588 2010-08-15 23:18:47