リフレクションを利用したプロパティ値の変更
強力な .NET Framework 機能であるリフレクションにより、オブジェクトとそのメンバーを検査および変更する機能が付与されますダイナミックに。このコンテキストでは、リフレクションを利用して C# クラス内の特定のプロパティの値を設定する方法を検討します。
「first_name」などのプロパティの名前がわかっているシナリオを考えてみましょう。この文字列を使用して値を変更したいと考えています。リフレクションは、この問題に対する解決策を提供します。
望ましい結果を達成するには、次の手順を実行できます。
提供されているコード サンプルは、このアプローチの例です。
class Person { public string Name { get; set; } } class Test { static void Main(string[] arg) { Person p = new Person(); var property = typeof(Person).GetProperty("Name"); property.SetValue(p, "Jon", null); Console.WriteLine(p.Name); // Jon } }
プロパティのアクセシビリティが非公開の場合は、次のように BindingFlags を指定します。
var property = typeof(Person).GetProperty("Name", BindingFlags.NonPublic | BindingFlags.Instance);
リフレクションを利用すると、プロパティ値を動的に設定することが実現可能な試みになります。コード操作と実行時の動作に柔軟性をもたらします。
以上がリフレクションを使用して C# でプロパティ値を動的に設定するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。