C#のプロパティでスタックオーバーフローする話

 

最近

 

「プロパティの書き方わからない」

「書いたけどなんかアプリ落ちる」

「理由がわからない」

 

と、ジェットストリームアタックを受けたので

一人でも悲しみを減らし、僕の時間も増やすためにバッドノウハウを残します

 

コード

 

まずはこちらをごらんください

gist67a556915426e4d8e9a9f1a7ba4102be

 

一番上

もっとも短縮された形です

変数宣言とgetsetを同時に行っているので、適当にアクセス制限かける時に使えます

セッターをアクセス指定してよく使います

 

真ん中

動きません、アプリが即死します

なんでかというと、「プロパティの中でプロパティを参照する」からです

そのまま無限にプロパティを参照し続けてループします

C#初心者が必ずハマって死ぬのでここを見つけてくれることを祈ります

 

一番下

真ん中の正常に動くように書き直した形です

変数を宣言し、その変数に対してプロパティを作成しています

セッターにコールバックを仕込みたい!など

ロジックを組み込むときはこの形にしましょう

 

終わり