Hinzufügen von Eigenschaften zu Klassen dynamisch C#

Möchte ich das hinzufügen von Eigenschaften zu einer Klasse dynamisch und setzen Ihnen Werte zu. Könnte mir jemand zeigen in die richtige Richtung zu einigen tutorials oder Artikel oder noch besser ein Beispiel geben.

Ich habe eine base-Klasse, die aufgerufen wird, in einer foreach-Schleife. Innerhalb dieser Klasse muss ich hinzufügen, bis zu 30 Eigenschaften und Werte, um Sie.

Dies ist die Methode, ruft die Klasse.

foreach (Class name in this.list)
{
    ClassBeingCalled class = new ClassBeingCalled (name);
    class.Populate();
    this.newlist.Add(class);
}

Nun innerhalb der Klasse aufgerufen wird, muss ich zum erstellen der 30-oder so-Eigenschaften auf die Fliegen, die in der "Füllen" - Methode der Klasse.

Wie so...

 foreach (PropertyToAssign count2 in listofproperties)
 {
     string name = "_nameofproperty" + count2.name
     base.GetType().GetField(name, BindingFlags.NonPublic |
                          BindingFlags.Instance).SetValue(this, count2);
 }
Was stimmt nur mit 'listofproperties' anstatt zu versuchen, erstellen Sie dynamische Eigenschaften? Wenn es sein muss Dynamic haben Sie einen Blick auf msdn.microsoft.com/en-us/library/vstudio/dd264741.aspx
Wie meinst du das?
Tun, was existieren als Eigenschaften? also werden Sie versuchen, zu erstellen, der neuen "Eigenschaften"? oder belegen Sie die vorhandenen Eigenschaften?
Ich denke, man sollte vielleicht Bedenken nur mit einem internen Wörterbuch mit einem indexer, so würden Sie den Zugriff auf Ihre Eigenschaften wie myObject["PropertyName"] (erzielen Sie effektiv die gleiche Sache mit einem ExpandObject).
Btw, im Titel heißt es "Eigentum", aber in der füllen-Methode, es spiegelt "Felder"

InformationsquelleAutor Pavan Dhariwal | 2013-05-16

Schreibe einen Kommentar