在 C# 中建立動態屬性
在 C# 中,可以為類別建立靜態屬性。然而,可能會出現在運行時向物件動態添加附加屬性的要求。此外,可能還需要排序和過濾功能。
新增動態屬性
要實現此目的,可以使用字典。例如,以下程式碼使用字典來儲存動態屬性:
Dictionary<string, object> properties = new Dictionary<string, object>();
這允許使用方括號語法將物件動態新增屬性:
properties["propertyName"] = value;
排序和過濾
為了實現排序和過濾,提供的範例利用了LINQ的Where選擇用於過濾的方法,以及用於排序的自訂比較器類別。以下是一個範例:
// 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);
透過採用這些技術,可以在運行時向物件添加動態屬性以及排序和過濾功能。
以上是如何在 C# 中新增、排序和篩選動態屬性?的詳細內容。更多資訊請關注PHP中文網其他相關文章!