具有匿名类型的通用方法

通用方法允许通过类型推断使用匿名类型。

void Log<T>(T obj) {
    // ...
}
Log(new { Value = 10 });

这意味着 LINQ 表达式可以与匿名类型一起使用:

var products = new[] {
    new { Amount = 10, Id = 0 },
    new { Amount = 20, Id = 1 },
    new { Amount = 15, Id = 2 }
};
var idsByAmount = products.OrderBy(x => x.Amount).Select(x => x.Id);
// idsByAmount: 0, 2, 1