Loại.GetProperties() có đảm bảo một thứ tự nhất định cho kết quả PropertyInfo [] của nó không? Chẳng hạn như trả lại chúng theo thứ tự bảng chữ cái theo tên thuộc tính hoặc thứ tự chúng xuất hiện trong mã. Hoặc là thứ tự không xác định?Loại Type.GetProperties() có đảm bảo một thứ tự nhất định cho kết quả PropertyInfo [] không?
7
A
Trả lời
13
Từ MSDN:
Phương pháp GetProperties không tính trở lại trong một thứ tự cụ thể, chẳng hạn như chữ cái hoặc trật tự khai. Mã của bạn không được tùy thuộc vào thứ tự mà trong đó thuộc tính được trả lại, bởi vì đó đơn đặt hàng khác nhau.
1
Tôi nghĩ rằng bạn có thể sắp xếp mảng một lần nữa sử dụng "PropertyInfo.MetadataToken" Như thế này:
Array.Sort(propertyInfos, delegate(PropertyInfo first, PropertyInfo second)
{
return first.MetadataToken.CompareTo(second.MetadataToken);
});
Các vấn đề liên quan
- 1. foreach% dopar% - đảm bảo về thứ tự kết quả?
- 2. Phương thức String.Split có đảm bảo thứ tự trong mảng kết quả không?
- 3. UNION ALL có đảm bảo thứ tự của tập hợp kết quả
- 4. TCP có được đảm bảo đến đúng thứ tự không?
- 5. Thứ tự semaphore được đảm bảo?
- 6. Được bảo đảm chắc chắn sẽ trả lại kết quả theo thứ tự?
- 7. Thứ tự PostgreSQL có được bảo đảm đầy đủ nếu phân loại trên thuộc tính không phải duy nhất không?
- 8. Có phải cho (auto i: unordered_map) được đảm bảo có cùng thứ tự mỗi lần không?
- 9. Kết quả của truy vấn LINQ luôn được đảm bảo theo đúng thứ tự?
- 10. So sánh PropertyInfo từ Type.GetProperties() và biểu thức lambda
- 11. Thứ tự của mảng kết hợp có được bảo đảm bằng PHP không?
- 12. Thứ tự của một từ điển Python có được đảm bảo lặp lại không?
- 13. Phần tử lược đồ tuần tự có đảm bảo thứ tự các phần tử con không?
- 14. Lệnh ListBucket có đảm bảo kết quả được sắp xếp theo khóa không?
- 15. Con trỏ có được đảm bảo là> một giá trị nhất định không?
- 16. Có cách nào tốt để đảm bảo kết quả hàm C++ không bị bỏ qua?
- 17. Thứ tự các thuộc tính có bất kỳ đảm bảo nào không?
- 18. Đảm bảo không đảm bảo VirtualMachineError
- 19. Thứ tự trong truy vấn phụ có được bảo đảm để được giữ nguyên không?
- 20. Thứ tự của các mục được đọc từ một XDocument, bởi LINQ, Đảm bảo?
- 21. Foreach có được đảm bảo lặp lại theo thứ tự mảng trong php không?
- 22. Thứ tự liệt kê vòng lặp NSArray có được đảm bảo không?
- 23. Việc liệt kê nhanh trong Objective-C có đảm bảo thứ tự lặp lại không?
- 24. Thứ tự khởi tạo có được đảm bảo theo tiêu chuẩn không?
- 25. Làm thế nào để đảm bảo rằng std :: random_shuffle luôn tạo ra một kết quả khác?
- 26. Thứ tự xác định loại
- 27. Liệu readdir() có đảm bảo một đơn hàng không?
- 28. Liệu entrySet() trong LinkedHashMap có đảm bảo trật tự không?
- 29. Thứ tự kết quả truy vấn XPath
- 30. Writer Monad có đảm bảo kết nối đúng không?
Doh! Tôi phải lướt qua phần đó. Lưu ý về bản thân: chờ một ngày trước khi đăng câu hỏi ngu ngốc của tôi. :) –
Nó dường như là phù hợp mặc dù. Tôi có một ứng dụng thử nghiệm sử dụng GetProperties để xác định và điền vào một DataGridView và các loại và giá trị các cuộc gọi riêng biệt trả về luôn khớp. – ChrisF
@ChrisF: Chúng có theo thứ tự tùy ý hoặc có mẫu không? Nếu bất cứ điều gì tôi nghĩ rằng họ sẽ theo thứ tự họ xuất hiện trong mã. –