質問:
C# でプロパティの値を変更するためにリフレクションを使用することは可能ですか? 、プロパティ名が知っていますか?
答え:
もちろん、リフレクションによってこの機能が有効になります。これを実現する方法は次のとおりです:
using System; 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.NonPublic | を使用する必要があります。プロパティを取得するときの BindingFlags.Instance。
以上がリフレクションは名前に基づいて C# プロパティの値を変更できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。