環境獲得屬性名。從泛型列表
有沒有辦法獲得屬性名稱,因爲我想讓它們成爲我構建的csv文件中的標題行?
,所以我要尋找的結果是string = "ProductId,ProductName,UnitPrice"
環境獲得屬性名。從泛型列表
有沒有辦法獲得屬性名稱,因爲我想讓它們成爲我構建的csv文件中的標題行?
,所以我要尋找的結果是string = "ProductId,ProductName,UnitPrice"
可以使用TypeDescriptor
類(比普通的反射更有效):
string.Join(",", TypeDescriptor.GetProperties(instance).Select(p => p.Name))
var headers = this.GetType().GetProperties().Select(p => p.Name).Aggregate((p1, p2) => p1 + "," + p2);
String.Join(",", typeof(Product).GetProperties().Select(p => p.Name))
如果你不想使用Linq,你可以通過的GetProperties返回的PropertyInfo數組進行迭代,並串聯的名字到一個字符串。
http://stackoverflow.com/a/1998049/139698 - 我喜歡下面的解決方案,但我沒有理解使用字符串構建器對可能的性能所做的評論。所以我做了一些搜索,發現以下並實現它:http://www.csharp411.com/c-convert-string-to-stream-and-stream-to-string/ - 這是評論所指的是什麼? – Rod