- - PR -
Region どう使えば便利なんでしょう??
1|2|3
次のページへ»
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2005-12-13 21:56
いつも拝見させていただいております。
早速ですが、.NETの #Region の機能、これを 日ごろから活用されている方、こんな風に使うと便利だよ〜っていう 使い方を教えてください。 (VB.NETしか使ったことないので、C#だと表記方法が違うかもしれないです… 無知ですいません) 私はほとんど使っていません。。。。 というか、有効な使い方が判らないと言ったほうが正確です… きっと、目からウロコ的な使い方をしてらっしゃる方がいるのではないでしょうか。 よろしくお願い致します | ||||||||||||
|
投稿日時: 2005-12-13 23:30
以下を region で括っています。 ・列挙体定義 ・デリゲート定義 ・イベント定義 ・インターフェース定義 ・構造体定義 ・クラス定義 ・フィールド ・プロパティ ・構築 ・廃棄 ・実装 ・操作 ・オーバーライド ・xxx メンバ ・イベントハンドラ MFC の影響が少し残ってるのかな? # 「イベントハンドラ」を追記。 [ メッセージ編集済み 編集者: 渋木宏明(ひどり) 編集日時 2005-12-14 08:42 ] | ||||||||||||
|
投稿日時: 2005-12-14 01:31
ひどりさんに付け足しになりますが、プロパティを #region で括る場合は、
プロパティ変数とプロパティ定義をひとまとめにして括っています。 (変数は使う直前に定義/宣言することを考えると自然だと思います)
実際には、以下のリンクのような感じです。 JavaScript で #Region を再現するテストページ _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||||||
|
投稿日時: 2005-12-14 08:45
プロパティ1個とかメソッド1個の単位で括るのは挫折しました (^^; IDE のエディタが、#region のネストをもっと上手に扱ってくれるようになったら戻るかも。 _________________ // 渋木宏明 (Hiroaki SHIBUKI) // http://hidori.jp/ // Microsoft MVP for Visual C# // // @IT会議室 RSS 配信中: http://hidori.jp/rss/atmarkIT/ | ||||||||||||
|
投稿日時: 2005-12-14 09:34
ひどりさんのこの気持ち、すごく判ります。(^^;) VB はインデントなしの状態で括られますし、 C# はインデントが同一レベルで括られてしまいますよね。 そのおかげで、返って見にくくなることもしばしばあります。 実際には、C# でも VB でも #region でインデントを、2 スペース取るようにしています。 ただ、C# は #endregion の時点で勝手に補正されちゃうので、結構イライラします。 (再フォーマットを完全に無効にできないです)
ただし、これはメソッドとプロパティに限った話で、 プライベートなフィールドや定数などは、ひとまとめで括ります。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||||||
|
投稿日時: 2005-12-14 09:46
私の場合クラス定義の内部で以下の項目を大枠としてRegionを適用します。
コンストラクタ フィールド プロパティ メソッド イベントハンドラ 内部クラス インターフェース実装 そして上記の項目に対し必要であれば詳細な区分けを行いますが、大抵はメソッドとイベントハンドラのみネストしたRegionを記述します。以前は、publicやoverrideのような修飾子別の区分けをしていたのですが最近は機能単位での区分けを行ったほうが分かりやすいかなと思ってます(初期化コード、データ操作コードなど)。 渋木宏明(ひどり)さん: >プロパティ1個とかメソッド1個の単位で括るのは挫折しました (^^; >IDE のエディタが、#region のネストをもっと上手に扱ってくれるようになったら戻るか >も。 Eclipseのフォールディングみたいな機能がVisual Studioに追加されると嬉しいかもですね。 | ||||||||||||
|
投稿日時: 2005-12-14 09:52
そういえば、C# ではメソッド内などでも、#region ディレクティブが使えますよね。
私は使ったことがありませんが、使われている方はいらっしゃいますか? 私の場合、まとめるくらいならメソッドにしちゃいます。(^^;) 構造化言語からの基本がそういうものですし、コメントも簡素化できますからね。 最初、スレッド タイトルを見た時、System.Drawing.Region クラスのことかと思いました。 「#Region ディレクティブ」とした方が良いかもしれませんね。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||||||
|
投稿日時: 2005-12-14 10:35
私の勤務先にこれやっちゃう人がいます(しかもこの方以前に構造化言語のなんたるかを語っていたような気が...)。じゃんぬねっとさんの言われるとおりのつっこみがバシバシと行われていますね(^^)。こんなのやる人がいるくらいだから規約にRegionの利用法もあったほうがいいかなと思ったりします(標準コーディング規約にはあまり厳密なものがなかった気がするので)。 |
1|2|3
次のページへ»