2

この同じトピックに関連してすでにいくつかの質問が投稿されていることは知っていますが、別の回答を見たので、どの回答が正しいのか非常に混乱しています.

以下のリンクで、人々はダウンキャストが不可能であると述べ ました基本型を派生型に変換/キャストします

以下のこのリンクでは、派生クラスが基本クラスのダウンキャストおよびアップキャストのインスタンスである場合にのみ、ダウンキャストが可能であると人々は述べています

私は少し実験を行い、ダイレクト キャストを使用してミニ プロジェクト (C#) にダウンキャストを実装しました。エラーがまったくないのに、なぜダウンキャスティングが不可能だと人々が言っ​​たのですか?

だから私の質問は、ダウンキャストは本当に不可能ですか? このトピックについて人々が異なる答えを持っているように見えるのはなぜですか? 結局のところ、どれが本当の答えですか? 誰かがこれをもっと詳しく説明してもらえますか?

サンプルコード:

public class Order {  }

public class PurchaseOrder : Order { // some new properties here for PurchaseOrder}

public static PurchaseOrder GetOrder()
{
    Order order = new Order();
    return (PurchaseOrder)order;
}
4

2 に答える 2