[.NET][Visual Studio]CodeLensを非表示にする。(○○個の参照) [Programming .NET Tips]
[はじめに]
Visual Studioはバージョンアップのたびに様々な便利機能が追加されますが、
便利な反面、稀に不便なものもあります。
そのうちの1つがCodeLensです。(あくまでも筆者の感想です)
CodeLensとは、
Visual Studio 2015で追加された機能で、
コードエディタ上で、メソッドやクラスの定義の上の行に、
そのメソッドやクラスを参照している個数を表示する機能です。
(図1で「4個の参照」と表示されている箇所です。)
一見、便利な機能ですが、
コード編集時に「○○個の参照」の行にカーソルが入らない為、
編集時に思い通りの動作にならず、不便に感じることがあります。
CodeLensを無効にする設定が一見わかりづらいので、
無効にする手順を、備忘録として掲載します。
【図1】
[CodeLensを無効にする手順]
(1)Visual Studio の「ツール」→「オプション」を選択し、
オプションダイアログを表示させる。
(2)オプションダイアログの左側のツリービューで、
「テキストエディタ」→「すべての言語]」→「CodeLens」をクリックし、
右側のエリアの「CodeLens を有効にする」の
チェックボックスのチェックを外す。
(3)(2)まで実施すると、CodeLensの表記が表示されなくなります。
Visual Studioはバージョンアップのたびに様々な便利機能が追加されますが、
便利な反面、稀に不便なものもあります。
そのうちの1つがCodeLensです。(あくまでも筆者の感想です)
CodeLensとは、
Visual Studio 2015で追加された機能で、
コードエディタ上で、メソッドやクラスの定義の上の行に、
そのメソッドやクラスを参照している個数を表示する機能です。
(図1で「4個の参照」と表示されている箇所です。)
一見、便利な機能ですが、
コード編集時に「○○個の参照」の行にカーソルが入らない為、
編集時に思い通りの動作にならず、不便に感じることがあります。
CodeLensを無効にする設定が一見わかりづらいので、
無効にする手順を、備忘録として掲載します。
【図1】
[CodeLensを無効にする手順]
(1)Visual Studio の「ツール」→「オプション」を選択し、
オプションダイアログを表示させる。
(2)オプションダイアログの左側のツリービューで、
「テキストエディタ」→「すべての言語]」→「CodeLens」をクリックし、
右側のエリアの「CodeLens を有効にする」の
チェックボックスのチェックを外す。
(3)(2)まで実施すると、CodeLensの表記が表示されなくなります。
[.NET]yield returnの使用例(C#) [Programming .NET Tips]
[はじめに]
C#には「yield」キーワードがありますが、
他の言語と比べて特殊でわかりにくいので、使い方の備忘録を掲載します。
※「yield」は、
他の言語(JavaScript、Perl、Python等)でも採用されつつありますが。。。
「yield」は、
オブジェクト指向のデザインパターンのIteratorパターンの実装で利用されます。
Iteratorパターンとは、多数の集合に対してその内部の実装を意識することなく、
逐次処理するためのデザインパターンです。
C#では、.NET Framework 2.0(Visual Studio 2005)から
「yield」が導入されました。
.NET Framework 1.1(Visual Studio .NET 2003)以前の版で、
Iteratorパターンを実装するには、
IEnumerableインタフェース、IEnumeratorインタフェースを実装したクラスを
記述する必要がありましたが、
.NET Framework 2.0(Visual Studio 2005)以降では、
それらのクラスは「yield return」で代用され、
Iteratorパターンの実装がより簡潔になりました。
[サンプルコード]
以下、2つのサンプルコードを掲載します。
2つのサンプルコードは、各々独立して動作します。
[ご参考]
C#には「yield」キーワードがありますが、
他の言語と比べて特殊でわかりにくいので、使い方の備忘録を掲載します。
※「yield」は、
他の言語(JavaScript、Perl、Python等)でも採用されつつありますが。。。
「yield」は、
オブジェクト指向のデザインパターンのIteratorパターンの実装で利用されます。
Iteratorパターンとは、多数の集合に対してその内部の実装を意識することなく、
逐次処理するためのデザインパターンです。
C#では、.NET Framework 2.0(Visual Studio 2005)から
「yield」が導入されました。
.NET Framework 1.1(Visual Studio .NET 2003)以前の版で、
Iteratorパターンを実装するには、
IEnumerableインタフェース、IEnumeratorインタフェースを実装したクラスを
記述する必要がありましたが、
.NET Framework 2.0(Visual Studio 2005)以降では、
それらのクラスは「yield return」で代用され、
Iteratorパターンの実装がより簡潔になりました。
[サンプルコード]
以下、2つのサンプルコードを掲載します。
2つのサンプルコードは、各々独立して動作します。
| |
[C#]yield returnの使用例(その2) |
| |
[C#]yield returnの使用例(その2) |
[ご参考]
Iteratorパターンについて |
デザインパターン「Iterator」-Qiita |