Dynamisches Hinzufügen von C # -Eigenschaften zur Laufzeit

Ich weiß, dass es einige Fragen gibt, die sich mit diesem Thema befassen, aber die Antworten folgen normalerweise der Empfehlung eines Wörterbuchs oder einer Sammlung von Parametern, was in meiner Situation nicht funktioniert.

Ich benutze eine Bibliothek, die durch Reflektion viele clevere Dinge mit Objekten mit Eigenschaften macht. Dies funktioniert sowohl mit definierten Klassen als auch mit dynamischen Klassen. Ich muss noch einen Schritt weiter gehen und etwas in diese Richtung tun:

public static object GetDynamicObject(Dictionary<string,object> properties) {
    var myObject = new object();
    foreach (var property in properties) {
        //This next line obviously doesn't work... 
        myObject.AddProperty(property.Key,property.Value);
    }
    return myObject;
}

public void Main() {
    var properties = new Dictionary<string,object>();
    properties.Add("Property1",aCustomClassInstance);
    properties.Add("Property2","TestString2");

    var myObject = GetDynamicObject(properties);

    //Then use them like this (or rather the plug in uses them through reflection)
    var customClass = myObject.Property1;
    var myString = myObject.Property2;

}

Die Bibliothek funktioniert einwandfrei mit einem dynamischen Variablentyp, dessen Eigenschaften manuell zugewiesen werden. Ich weiß jedoch nicht, wie viele oder welche Eigenschaften vorher hinzugefügt werden.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage