いち学生で知識・経験はみなさんに大きく劣ると思いますが、以下の件について引用:Hogeでキャスト出来る為には、オブジェクトのインスタンスがHogeクラス自身か、Hogeクラスを継承している必要があると思います。__TransparentProxyクラスはSystem.Objectから直接派生しています。通常ならどうやってもキャスト出来ないと思います。これは、CLRが実行時にメタデータを参照してるために可能にのだと思います。Assembler」という書籍にそう載っています。キャストの実行時にもメタデータを参照しているので、以下のプログラムを実行できるのだと思います。obj){Console.WriteLine((string)obj);}勘違い&的を外していたらすいません。クラス自体は何のインターフェイスも実装していないようですし,継承はできない(sealed)みたいですし,まったく謎ですね。メソッドが用意されているのですが,ひょっとしてこれが何か関係あるのでしょうか?引用:(このクラス自身にキャスト(明示的変換)する処理が実装されてそうな気がするけど)う〜ん,やはりこれでしょうか。成り立てば,ほぼ間違いなくこれなのですが。ちなみに,メタデータの話はここでは関係ないと思います。"tcp://remote.com:1234/Hoge");ここで、"typeof(Hoge)"が重要だと思います。Hogeというタイプとしてオブジェクトのインスタンスを生成するよ、というメソッドですよね。指定した型にキャストできて当然、ということになると思います。ここで、間違えた型を指定すると、コンパイルは通るけど実行時にエラーになる、なんてことも起きるはず。#うーん、説明がむずかし。Typeクラスのことがわかってくると、なんとなくわかるとは思うのですが。Hogeクラス自身か、Hogeクラスを継承している必要があると思います。引数で指定した型(クラス)のインスタンス(上記ではHogeクラス)になります。#うー、わかってもらえるだろか。09:31#もういっちょActivator.GetObjectメソッドが無理やり型変換を行うと考えるといいですかね。ここでの型変換は無理やりなので、もし指定した型が合ってないと実行時にエラーが起きます。#レイトバインディングといってもいいか。Reserved.著作権はアイティメディア株式会社またはその記事の筆者に属します。当サイトに掲載されている記事や画像などの無断転載を禁止します。