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

C#での反射とは何ですか?


リフレクションオブジェクトは、実行時にタイプ情報を取得するために使用されます。実行中のプログラムのメタデータへのアクセスを提供するクラスは、System.Reflection名前空間にあります。

システムのMemberInfoオブジェクト。クラスに関連付けられた属性を検出するには、リフレクションクラスを初期化する必要があります。

以下の例では、ターゲットクラスのオブジェクトを設定しました-

System.Reflection.MemberInfo info = typeof(MyClass);

これが例です-

using System;
using System.Reflection;

[AttributeUsage(AttributeTargets.All)]
public class HelpAttribute : System.Attribute {
   public readonly string Url;

   public string Topic { // Topic is a named parameter
   get {
      return topic;
   }

   set {
      topic = value;
   }
}

public HelpAttribute(string url) { // url is a positional parameter
   this.Url = url;
}

private string topic;
}

[HelpAttribute("Information on the class MyClass")]
   class MyClass {

}

namespace AttributeAppl {
   class Program {
      static void Main(string[] args) {
         System.Reflection.MemberInfo info = typeof(MyClass);
         object[] attributes = info.GetCustomAttributes(true);
         for (int i = 0; i < attributes.Length; i++) {
            System.Console.WriteLine(attributes[i]);
         }

         Console.ReadKey();
      }
   }  
}

  1. C#の動的配列とは何ですか?

    動的配列は拡張可能な配列であり、静的配列よりも優れています。これは、配列のサイズが固定されているためです。 C#で動的に配列を作成するには、ArrayListコレクションを使用します。これは、個別に索引付けできるオブジェクトの順序付けられたコレクションを表します。また、動的なメモリ割り当て、リスト内のアイテムの追加、検索、および並べ替えも可能です。 以下は、C#で動的に配列を作成する方法を示す例です- 例 using System; using System.Collections; namespace Demo {    class Program {  

  2. C#のコンテキストキーワードとは何ですか?

    C#では、getやsetなどの一部の識別子は、コードのコンテキストで特別な意味を持ち、コンテキストキーワードと呼ばれます。 以下は、コンテキストキーワードを示す表です- コンテキストキーワード 追加 エイリアス 昇順 降順 動的 から get グローバル グループ に 参加 レット 注文者 部分的(タイプ) partial(method) 削除 選択 設定