• 締切済み

[C#]キャストについて

いつも参考にさせていただいています。 今回はキャストについてです。 現在、現在インサイドWidnows Communication Foundationを読んでおりますが、その中のサンプルコードについてわからないところがあります。 例えば、P230の中で、 return (TShape)(object)new DelegatorOutputChannel<IOutputChannel>(this, (IOutputChannel)innerChannel, "SEND"); というのがあるのですが、なぜ一旦objectにキャストしてからTShapeにキャストするのかがわかりません。 確かにobjectのキャストを外すとエラーになります。 こういうキャストをする理由がわかる方よろしくお願いいたします。

みんなの回答

  • ponzuinfo
  • ベストアンサー率53% (16/30)
回答No.1

WCFについてはよく分からないのですが TShapeがobjectで定義されているメンバをオーバーライドなどで使っているからではないでしょうか(Equalsとか)

ape5
質問者

お礼

回答ありがとうございます。 どうでしょう。 オーバーライドの絡みであれば、メソッド呼び出しでキャストするとかなら割と理解できるかもしれませんが、コンストラクタでのキャストでどうなのだろうかなって思います。

関連するQ&A