ホームページ >バックエンド開発 >C#.Net チュートリアル >C#でリフレクションを介してプロパティ値を設定するにはどうすればよいですか?

C#でリフレクションを介してプロパティ値を設定するにはどうすればよいですか?

WBOY
WBOY転載
2023-08-27 15:49:02685ブラウズ

###############システム。リフレクション名前空間には、アプリケーションに関する情報を取得し、型、値、オブジェクトをアプリケーションに動的に追加できるクラスが含まれています。

C#でリフレクションを介してプロパティ値を設定するにはどうすればよいですか?リフレクション オブジェクトは、実行時に型情報を取得するために使用されます。実行中のプログラムのメタデータへのアクセスを許可するクラスは、System.reflection 名前空間にあります。

リフレクションを使用すると、実行時にプロパティ情報を表示できます。

リフレクションを使用すると、アセンブリ内のさまざまな型を検査し、これらの型をインスタンス化できます。

リフレクションにより、メソッドとプロパティへの遅延バインディングが可能になります。

リフレクションを使用すると、実行時に新しい型を作成し、これらの型を使用していくつかのタスクを実行できます。

GetProperty(String)

指定された名前のパブリック プロパティを検索します。

GetType(String, Boolean)

アセンブリ インスタンス内の指定された名前を持つ Type オブジェクトを取得します。型が見つからない場合は、オプションで例外をスローします。

SetValue(Object, Object)

指定されたオブジェクトのプロパティ値を設定します。

class Program{
   static void Main(string[] args){
      User user = new User();
      Type type = user.GetType();
      PropertyInfo prop = type.GetProperty("Name");
      prop.SetValue(user, "Bangalore", null);
      System.Console.WriteLine(user.Name);
      Console.ReadLine();
   }
}
class User{
   public int Id { get; set; }
   public string Name { get; set; }
}

出力

Bangalore

以上がC#でリフレクションを介してプロパティ値を設定するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。