„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie kann ich die Eigenschaftswerte in C# unter Verwendung von Reflexion dynamisch festlegen?

Wie kann ich die Eigenschaftswerte in C# unter Verwendung von Reflexion dynamisch festlegen?

Gepostet am 2025-04-08
Durchsuche:936

How Can I Set Property Values Dynamically in C# Using Reflection?

Einstellen von Eigenschaftswerten mit Reflexion

Es ist möglich, den Wert einer Eigenschaft mit Reflexion in C#dynamisch festzulegen. Auf diese Weise können Sie die Eigenschaft eines Objekts zur Laufzeit ändern, unabhängig von seiner Zugänglichkeit oder Sichtbarkeit.

, um einen Eigenschaftswert unter Verwendung von Reflexionen festzulegen, befolgen Sie die folgenden Schritte:

  1. Erhalten Sie die Eigenschaft, die Eigenschaften zu verwenden: verwenden Typen. Wenn die Eigenschaft nicht öffentlich ist, müssen Sie möglicherweise zusätzliche Bindungsflags angeben, wie z. B. BindingFlags.nonpublic oder BindingFlags.instance.
  2. rufen die SetValue -Methode auf: Sobald Sie das Objektinfo -Objekt haben, ihre Setvalue -Methode, um den Wert der Eigenschaft zu erstellen. Diese Methode nimmt zwei Parameter an: die Objektinstanz, die Sie ändern möchten, und den neuen Wert auf Set.

Hier ist ein Beispiel, das demonstriert, wie man Reflexion verwendet, um die FirstName -Eigenschaft einer Personklasse festzulegen:

using System;
using System.Reflection;

class Person
{
    public string FirstName { get; set; }
}

class Test
{
    static void Main(string[] args)
    {
        // Create an instance of the Person class
        Person p = new Person();

        // Get the PropertyInfo object for the FirstName property
        var property = typeof(Person).GetProperty("FirstName");

        // Set the value of the FirstName property using reflection
        property.SetValue(p, "John", null);

        // Print the value of the FirstName property
        Console.WriteLine(p.FirstName); // John
    }
}

In diesem Beispiel enthält die Eigenschaftsvariable einen Verweis auf die FirstName -Eigenschaft der Personklasse. Die SetValue -Methode wird mit der P -Instanz und dem String -Wert "John" aufgerufen, um den Wert der Eigenschaft dynamisch festzulegen.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3