匿名类型行为

时间:2016-03-29 23:10:03

标签: c# anonymous-types

您能解释一下此代码产生此结果的原因吗?

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

输出是:

{ name = "George", age = 30}

1 个答案:

答案 0 :(得分:3)

WriteLine(object)隐式调用底层对象上的ToString()。该方法是虚拟的,这意味着它可以被派生类型覆盖。

匿名类型覆盖object.ToString以显示其属性和值。编译器生成重写的方法,它不能在编译时或运行时更改。