連載

改訂版
プロフェッショナルVB.NETプログラミング

Chapter 16 プリプロセッサ

株式会社ピーデー 川俣 晶
2004/10/07
Page1 Page2


 本記事は、(株)技術評論社が発行する書籍『VB6プログラマーのための入門 Visual Basic .NET 独習講座』の一部分を許可を得て転載したものです。同書籍に関する詳しい情報については、本記事の最後に掲載しています。
領域ディレクティブ

 プリプロセッサには、ソース・コードのある領域を区切って印を付けるディレクティブがある。#Regionと#End Regionで囲まれた範囲は、領域として区切られる。実際に区切ってみたサンプル・プログラムがリスト16-8である。

 1: Public Class Form1
 2:   Inherits System.Windows.Forms.Form
 3:
 4: …Windows フォーム デザイナで生成されたコード…
 5:
 6:   Private a(9) As Integer
 7:
 8: #Region "デバッグ用データ出力メソッド"
 9:   Private Sub debugDump()
10:     Dim i As Integer
11:     For i = 0 To 9
12:       Trace.WriteLine(i)
13:     Next
14:   End Sub
15: #End Region
16:
17:   Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
18:     Dim i As Integer
19:     For i = 0 To 9
20:       a(i) = i
21:     Next
22:     debugDump()
23:   End Sub
24: End Class
リスト16-8 #Regionと#End Regionを使用したプログラム

 領域を区切っても、ビルドした結果には何の影響も及ぼさない。しかし、統合開発環境では便利に使うことができる。統合開発環境のエディタを見ていただきたい(図16-9)。

●図16-9 リスト16-8を統合開発環境のエディタで見た場合

 この状態で、#Regionの行の左側にある四角で囲まれた「-」記号をクリックしてみよう。すると、以下のような表示になる。

●図16-10 クリックにより#Regionから#End Regionまでを折り畳んだ場合

 つまり、ワンクリックで、領域を見えないように折り畳んで隠してしまうことができるのである。ソース・コード上に必要だが、本来の開発にあまり関係のないものは、領域で囲って隠してしまうと便利である。実際、プロジェクトの新規作成で自動生成したソースでも便利に使われている。この例で“Windowsフォームデザイナで生成されたコード”という行は、隠された領域にほかならない。この部分は、統合開発環境が自動的に書き直してくれるので、プログラマーが内容を見る必要はない。そのため領域を用いて隠してしまっているわけである。

 なお、メソッド本体内では、領域を開始することも終了することもできない。つまり、メソッドの一部だけを隠すような使い方はできないようになっている。End of Article

VB6プログラマーのための入門 Visual Basic .NET 独習講座』

 本記事は、(株)技術評論社が発行する書籍『VB6 プログラマーのための 入門 Visual Basic .NET 独習講座』から
許可を得て転載したものです。

【本連載と書籍の関係について 】
 この書籍は、本フォーラムで連載した「連載 プロフェッショナルVB.NETプログラミング」を大幅に加筆修正し、発行されたものです。技術評論社、および著者である川俣晶氏のご好意により、書籍の内容を本フォーラムの連載記事として掲載させていただけることになりました。

技術評論社の解説ページ

ご注文はこちらから
 

 INDEX
  [連載] 改訂版 プロフェッショナルVB.NETプログラミング
  Chapter 16 プリプロセッサ
    1.条件付きコンパイル/条件付き定数
  2.領域ディレクティブ
 
「改訂版 プロフェッショナルVB.NETプログラミング 」


Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)
- PR -

注目のテーマ

業務アプリInsider 記事ランキング

本日 月間
ソリューションFLASH