Tôi có một phương thức lấy tham số đầu vào là một đối tượng thuộc loại IEnumerable
. Tôi muốn liệt kê các liệt kê và cho mỗi mục sử dụng phản ánh để có được giá trị cho mỗi tài sản.Tại sao Type.GetElementType trả về null?
Tôi có đoạn mã sau:
protected void WriteData(IEnumerable data)
{
var enumerationTypeInfo = data.GetType();
var itemTypeInfo = enumerationTypeInfo.GetElementType();
...
}
Vấn đề là enumerationTypeInfo.GetElementType()
luôn trả null
. Đặc biệt, tôi đang chuyển một số List<Entry>
vào WriteData
, trong đó Entry
là lớp tôi đã tạo. Khi tôi sử dụng trình gỡ lỗi và đặt điểm ngắt, tôi có thể thấy rằng enumerationTypeInfo
hiển thị chính xác rằng đó là Danh sách loại Entry
, nhưng tại sao GetElementType
trả lại null
?
Cảm ơn
Hơn nữa - GetElementType sẽ luôn trả về giá trị rỗng nếu được sử dụng trên loại chung. Xem bài viết MSDN tại http://msdn.microsoft.com/en-us/library/system.type.getelementtype.aspx – EtherDragon