C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#の条件付き属性とは何ですか?


属性は、コンパイラ命令などのメタデータや、コメント、説明、メソッド、クラスなどの他の情報をプログラムに追加するために使用されます。

この事前定義された属性は、実行が指定された前処理識別子に依存する条件付きメソッドをマークします。

DebugやTraceなどの指定された値に応じて、メソッド呼び出しの条件付きコンパイルが発生します。たとえば、コードのデバッグ中に変数の値を表示します。

以下は、条件付き属性の構文です-

[Conditional(
   conditionalSymbol
)]

条件付き属性の操作方法を見てみましょう-

#define DEBUG
using System;
using System.Diagnostics;

public class Myclass {
   [Conditional("DEBUG")]

   public static void Message(string msg) {
      Console.WriteLine(msg);
   }
}

class Test {
   static void function1() {
      Myclass.Message("In Function 1");
      function2();
   }

   static void function2() {
      Myclass.Message("In Function 2");
   }

   public static void Main() {
      Myclass.Message("In Main function");
      function1();
      Console.ReadKey();
   }
}

出力

In Main function
In Function 1
In Function 2

  1. C#の名前空間とは何ですか?

    名前空間は、ある名前のセットを別の名前のセットから分離する方法を提供するためのものです。名前空間の定義は、次のように、キーワードnamespaceで始まり、その後に名前空間名が続きます- namespace namespace_name {    // code declarations } 名前空間を定義する- namespace namespace_name {    // code declarations } 以下は、C#で名前空間を使用する方法を示す例です- 例 using System; namespace first_space {

  2. Python関数属性とは何ですか?

    Pythonのすべてがオブジェクトであり、ほとんどすべてに属性とメソッドがあります。 Pythonでは、関数もオブジェクトです。したがって、他のオブジェクトと同様の属性があります。すべての関数には、関数のソースコードで定義されたドキュメント文字列を返す組み込みの属性__doc__があります。それらに新しい属性を割り当てたり、それらの属性の値を取得したりすることもできます。 属性を処理するために、Pythonは「getattr」と「setattr」を提供します。これは3つの引数を取る関数です。 「setattr」と=代入演算子の左側にあるドット表記の使用に違いはありません: 指定されたコードは