Dynamische Eigenschaften in C# erstellen
In C# können statische Eigenschaften für eine Klasse erstellt werden. Allerdings kann es erforderlich sein, einem Objekt zur Laufzeit dynamisch zusätzliche Eigenschaften hinzuzufügen. Darüber hinaus können Sortier- und Filterfunktionen erwünscht sein.
Hinzufügen dynamischer Eigenschaften
Um dies zu erreichen, kann ein Wörterbuch eingesetzt werden. Der folgende Code verwendet beispielsweise ein Wörterbuch zum Speichern der dynamischen Eigenschaften:
Dictionary<string, object> properties = new Dictionary<string, object>();
Dies ermöglicht das dynamische Hinzufügen von Eigenschaften zum Objekt mithilfe der eckigen Klammersyntax:
properties["propertyName"] = value;
Sortieren und Filtern
Um Sortieren und Filtern zu implementieren, verwendet das bereitgestellte Beispiel die Where- und Select-Methoden von LINQ Filterung und eine benutzerdefinierte Vergleichsklasse zum Sortieren. Hier ist ein Beispiel:
// Example comparer class for sorting public class Comparer<T> : IComparer<ObjectWithProperties> where T : IComparable { string attributeName; public Comparer(string attributeName) { this.attributeName = attributeName; } public int Compare(ObjectWithProperties x, ObjectWithProperties y) { return ((T)x[attributeName]).CompareTo((T)y[attributeName]); } } // Example of filtering var filteredObjects = from obj in objects where (int)obj["propertyName"] >= 150 select obj; // Example of sorting Comparer<int> comparer = new Comparer<int>("propertyName"); objects.Sort(comparer);
Durch den Einsatz dieser Techniken können einem Objekt zur Laufzeit dynamische Eigenschaften sowie Sortier- und Filterfunktionen hinzugefügt werden.
Das obige ist der detaillierte Inhalt vonWie füge ich dynamische Eigenschaften in C# hinzu, sortiere und filtere sie?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!