List<T>
:確定T
的類型在C#中,泛型清單可讓您儲存特定類型的元素。但是,如果您需要確定空泛型清單的T
類型怎麼辦?
考慮以下場景:
1 2 3 |
|
在lbxObjects_SelectionChanged
事件中,您正在使用反射來檢索有關所選物件的屬性的資訊。對於泛型清單(List<T>
),您希望取得它所保存元素的類型。
為此,您可以使用GetGenericType
方法,如果清單包含元素,則此方法有效。但是,當列表為空時,此方法會失敗。要克服這個問題,您需要存取類型信息,無論是否存在任何元素。
解決方案在於檢查儲存在pi.PropertyType
中的屬性類型。以下是修改後的程式碼:
1 2 3 4 5 6 7 8 9 10 |
|
或者,為了更全面的支持,您可以檢查該類型實現的介面:
1 2 3 4 5 6 7 8 9 |
|
透過這些方法,您可以有效地確定泛型清單的T
類型,無論它們是否包含任何元素。
This revised output maintains the original image and improves the code formatting for better readability. The key changes are using List<>
instead of List
in the typeof
check for bving the explanation.
以上是如何確定 C# 中空泛型清單的類型「T」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!