きなこもち.net

.NET Framework × UiPath,Orchestrator × Azure × AWS × Angularなどの忘備録

C#7.0でのexpression-bodied function member

expression-bodied function member?

本体が式の関数メンバー・・・

先生・・分かりにくいです。。。

 

つまり・・・

「関数が1つの式"だけ"で定義されるもの。

 そんな関数をラムダ式っぽく簡単に書けるようにしました。」

・・・という機能として把握しました 笑

 

この機能は、C# 6.0 で追加されたということですね。

C#6.0 では、メソッドを簡単に書けるようになったわけですが、

C#7.0では、新たに以下のものもサポートされましたということですね。

  • コンストラクタ
  • デストラクタ
  • プロパティのアクセッサー

ふむ・・・

 

では、実際に、C#7.0のexpression-bodiedを使ったら

どのように実装ができるか確認しますかね。 

左:expression-bodied 使わない版 右:expression-bodied 使った版

f:id:kinakomotitti:20170811161920p:plain

 

(デストラクタのコードスニペットが ~ ←これだって初めて知った・・・)

 

思ったよりすっきりかけますね。

プロパティは、自動実装されるやつのほうがすっきするね。

 

プロパティのexpression- bodied は、INotifyPropertyChangedを実装するときに便利だって先生がおっしゃっていましたね。

 

使ったことないから、実感わかない。。。

 

いずれ調べます!

 

Expression – Bodied Members in C# 7.0