C#具有匿名类型的泛型方法

示例

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

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