Heim > Backend-Entwicklung > C++ > Kann Reflection den Wert einer C#-Eigenschaft anhand ihres Namens ändern?

Kann Reflection den Wert einer C#-Eigenschaft anhand ihres Namens ändern?

Linda Hamilton
Freigeben: 2025-01-03 17:31:39
Original
187 Leute haben es durchsucht

Can Reflection Change a C# Property's Value Given its Name?

Eigenschaftswert mithilfe von Reflection festlegen

Frage:

Ist es möglich, Reflection zu verwenden, um den Wert einer Eigenschaft in C# zu ändern? , vorausgesetzt, der Eigenschaftsname ist bekannt?

Antwort:

Absolut, Reflexion ermöglicht diese Funktionalität. So erreichen Sie es:

  1. Eigenschaft abrufen: Verwenden Sie die Type.GetProperty-Methode, um die Zieleigenschaft abzurufen. Möglicherweise müssen Sie zusätzliche Bindungsflags angeben, um die Barrierefreiheit sicherzustellen.
  2. Wert festlegen: Rufen Sie die SetValue-Methode für die abgerufene Eigenschaft auf. Hier ist ein Codebeispiel zur Veranschaulichung:
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
    }
}
Nach dem Login kopieren

Hinweis: Wenn die Zieleigenschaft nicht öffentlich ist, müssen Sie BindingFlags.NonPublic | verwenden BindingFlags.Instance beim Abrufen der Eigenschaft.

Das obige ist der detaillierte Inhalt vonKann Reflection den Wert einer C#-Eigenschaft anhand ihres Namens ändern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage