C#에서 동적 속성 생성
C#에서는 클래스에 대한 정적 속성을 생성할 수 있습니다. 그러나 런타임 시 객체에 추가 속성을 동적으로 추가해야 하는 요구 사항이 발생할 수 있습니다. 또한 정렬 및 필터링 기능이 필요할 수 있습니다.
동적 속성 추가
이를 달성하기 위해 사전을 사용할 수 있습니다. 예를 들어, 다음 코드는 사전을 활용하여 동적 속성을 저장합니다.
Dictionary<string, object> properties = new Dictionary<string, object>();
이를 통해 대괄호 구문을 사용하여 개체에 속성을 동적으로 추가할 수 있습니다.
properties["propertyName"] = value;
정렬 및 필터링
정렬 및 필터링을 구현하기 위해 제공된 예제에서는 LINQ의 필터링을 위한 Where 및 Select 메서드와 정렬을 위한 사용자 정의 비교자 클래스입니다. 예는 다음과 같습니다.
// 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!