|
2016/12/02(Fri) 10:19:39 編集(投稿者)
# VB 向けサンプルで セミコロン を消し忘れていたので修正
■No82035 (suneipu さん) に返信 > public Layer2D(int width = 0, int height = 0)
これは C# 4.0 以降でのみ使える記述です。
オプション引数・名前付き引数と呼ばれるもので、 Visual Studio でいえば 2010 からの機能です。 Visual Studio 2008 以下では利用できません。 (.NET Framework のバージョンとは無関係)
> _layer = new Layer2D(WIDTH, HEIGHT);
『public Layer2D(int width = 0, int height = 0)』 なコンストラクタに対して、幅だけを指定して 呼び出す場合、このように記述する事ができます。
_layer = new Layer2D(WIDTH); // new Layer2D(WIDTH, 0) と同義
これだけならば、コンストラクタのオーバーロードでも代用できますが、 それと違うのは、高さだけを指定することもできるという点です。
_layer = new Layer2D(height: HEIGHT); // new Layer2D(0, HEIGHT) と同義
引数の順番を入れ替えて指定する事もできます。 _layer = new Layer2D(height: HEIGHT, width: WIDTH); // new Layer2D(WIDTH, HEIGHT) と同義
ちなみに VB においては、 _layer = New Layer2D(WIDTH) ' New Layer2D(WIDTH, 0) と同義 _layer = New Layer2D(height:=HEIGHT) ' New Layer2D(0, HEIGHT) と同義 _layer = New Layer2D(height:=HEIGHT, width:=WIDTH) ' New Layer2D(WIDTH, HEIGHT) と同義 に加えて、C# には無い _layer = New Layer2D(, WIDTH) ' New Layer2D(0, WIDTH) と同義 という記述法も可能です。
|