Jos*_*h G 7 .net anonymous-types
匿名类型的最佳用例是什么?
在我看来,它们仅在有限的上下文中有用,例如一个类或一个函数.它们很难在这种情况之外使用,因为没有反射,没有人会知道这些类型可用的属性.
匿名类型仅适用于非常狭窄的范围。我遇到的大多数用例都涉及 Linq。
var result = from x in MyCollection
select new
{
x.Prop1,
x.Prop2
};
Run Code Online (Sandbox Code Playgroud)
此外,在 Linq to SQL 的情况下 - 使用匿名类型将通过仅选择匿名类型中使用的列来生成不同的 SQL。在上面的情况下(如果它是 Linq to SQL 查询),它将生成类似“select prop1, prop2 from mytable”的内容,而不是选择所有字段。
我(还)从未遇到过我想在代码中声明一个新的匿名类型的情况。我想如果有其他的话,也许局部常量会很有用?
var x = new
{
FirstName = "Scott",
LastName = "Ivey"
};
Run Code Online (Sandbox Code Playgroud)