簡體   English   中英

我可以在C#中將一個子類類型轉換為其他子類對象

[英]can I typecast one subclass to other subclass object in C#

我想在下面輸入一個:

Class A
{
}

Class B : A
{
}

Class C: A
{
}
Class D{
B b = new b();
C c = (C) b;
}

請建議如何將類C轉換為B類

不,那是不可能的,因為B 不是 C,所以這個演員必須失敗。 一種解決方法是實現自定義顯式轉換運算符,否則無法實現 - 您只能在同一繼承樹中轉換為更具體的類型(向下轉換)或基類(向上轉換)。

你不能。 你可以把B投到A.

這根本不可能。 你不能這樣的轉換。

實際上它們具有相同的基類,但它們並不相同。 例如,看看這個。

TriangleShapeRectangleShape

但是你不能將Triangle轉換為Rectangle ,因為它們是不同的。

不,你不能。 如果要將屬性從一個類復制到另一個類,可以考慮使用AutoMapper

不可能。 類C和B在類層次中不相關。

Animal
{
}

Giraffe : Animal
{
}

Shark : Animal
{
}

你的問題是你如何將長頸鹿變成鯊魚。 不幸的是,它無法完成。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM