2017-07-27 18 views
-2
protected override IEnumerable<string> Attributes => new [] 
{ 
    IntercationAttributes.State 
}; 

有人可以解釋我在這裏發生了什麼。爲什麼我們有了lambda表達式的新[]。我第一次看到它。使用新的[]與lambda

回答

2

這不是一個匿名方法(a.k.a. lambda表達式),而是一種以更簡潔的方式編寫計算屬性的方法。這是完全等同於

protected override IEnumerable<string> Attributes { 
    get { return new [] { IntercationAttributes.State }; 
} 

正如你所看到的,形式

<property> { get { return <expression>; } } 

的只讀屬性可以寫成

<property> => <expression>; 

在C#6,圍繞減少語法該聲明有點。

+0

很酷非常感謝您的解釋 –