2016-03-29 5 views
-2

このコードがこの結果を生成する理由を説明できますか?匿名の種類の動作

var person = new { name = "George", age = 30}; 
WriteLine(person); 

されて出力される。

{ name = "George", age = 30}

+0

出力はどのようになると思いますか? –

答えて

3

WriteLine(object)暗黙のうちに基礎となるオブジェクトにToString()を呼び出します。このメソッドは仮想です。つまり、派生型によってオーバーライドされる可能性があります。

匿名タイプは、そのプロパティと値を表示するためにobject.ToStringを上書きします。コンパイラはオーバーライドされたメソッドを生成し、コンパイル時または実行時には変更できません。

+0

最高の答えを選んでいただきます。 – Johnson

関連する問題