0

プログラムでコメントをコメントアウトするにはどうすればよいですか? 次のようなことを考えてください:-

void releaseA()
{
   //ToDo:
}
//string A = "Test";
releaseA();
textbox1.Text = A;

releaseAこれを達成し、コメントアウトする方法を実装するにはどうすればよいですか?//string A = "Test"; 検索しましたが、まだ何も見つかりません。

4

4 に答える 4

0

私は c# ではコーディングしませんが、c と Objective C で少しコーディングを行うので、このアプローチは移植可能であると確信しています。

コンパイル時に条件付きで有効にし、実行時に無効にする可能性がある機能がある場合 (その逆ではありません!)、次のアプローチを使用します。

関連するすべてのファイルが参照するグローバル (プレフィックス) ヘッダー(またはコマンド ライン スイッチ) で、コンパイラが機能のコードを実行可能ファイルに物理的に含めるように強制する定数を定義します。これは事実上 bool 定数です。

#define acme_support        1

共通ヘッダー ファイル(例: settings.h) で、機能が利用可能かどうかをランタイム コードに通知するラッパーを定義します。利用できない場合は、ハードコードされています。利用可能な場合、それは外部ブールです。

#if acme_support
extern bool runtime_acme_support;
#else
#define runtime_acme_support 0
#endif

「settings.h」に関連付けられた実装ファイル(「settings.c」と呼びましょう):

#if acme_support
bool runtime_acme_support = 1;
#endif

次に、プロジェクト全体で、機能のコードを含める必要があります。

#if acme_support

    if (runtime_acme_support) {

        /*  process the acme widgets for the acme store. */

    }

#endif

ご覧のとおり、#if / #endifは、コンパイル時に含まれていなかった場合に無効なコードが有効になるのを防ぎますが、特定の条件が必要な場合 (たとえば、必要なハードウェアが存在しない場合) は、実行時に機能を「無効にする」ことができます。

'0' はまだ「定義済み」であるため、まだ true であるため、 #ifnot a#ifdefであることに注意してください。一方、 は値 '0' / '1' に対するブール値のテストであり、それぞれ false/true です。#ifdef#if

于 2013-11-10T22:32:44.677 に答える