簡體   English   中英

.net 框架 4.5.2 的 HyperPropertyDescriptor 問題

[英]HyperPropertyDescriptor issue with .net framework 4.5.2

我正在嘗試將對象列表轉換為數據表,並使用此響應https://stackoverflow.com/a/5805044/1447718 中給出的解決方案。

我下載了 hyperproperty 並將其重新編譯為 4.5.2 並在我的應用程序中使用它。 當我執行該方法時,我得到一列空數據集。 在調試時,我發現該行

PropertyDescriptorCollection properties =
            TypeDescriptor.GetProperties(typeof(T));

正在給出計數為 0 的屬性對象。
我試着用

PropertyDescriptorCollection properties =
            TypeDescriptor.GetProperties(data.First().GetType()); 

仍然沒有運氣。

有人可以幫忙嗎? 謝謝。

來自評論:

public class RequestData {
    public string d;
    public DataType t;
    public int i;
}

這些是字段,而不是屬性。 PropertyDescriptor模型側重於屬性,坦率地說,公共字段只是一種反模式。 考慮將這些變成屬性。 最簡單的,只需在每個后面添加{get;set;} ,就完成了。

public class RequestData {
    public string d {get;set;}
    public DataType t {get;set;}
    public int i {get;set;}
}

就我個人而言,我會將它們重命名為更有意義,但這不會改變它們的工作方式。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM