它發生在我身上,你可能真的希望得到一個類的屬性,並將它們變成字典中的鍵值對。
如果這就是你想要做的,那麼類 - >字符串 - >數組 - >字典正在走很長的路。
如果是這樣的話,也許你想嘗試一種更直接的方法
鑑於一類這樣的
class classA
{
public string Name{get;set;}
public string website { get; set; }
public string location { get; set; }
public int age { get; set; }
public int reputation { get; set; }
private string somthingPrivate { get; set; }
}
下面創建一個字典變量命名的結果。
classA test = new classA() { Name = "Jeff Atwood", website = "codinghorror.com/blog", location = "El Cerrito, CA", age = 40, reputation = 15653 };
var result = test.GetType().GetProperties().ToDictionary(property => property.Name,
property => property.GetValue(test,null),
StringComparer.OrdinalIgnoreCase);
foreach (var key in result.Keys)
Console.WriteLine("{0} : {1}", key, result[key]);
,並把該
Name : Jeff Atwood
website : codinghorror.com/blog
location : El Cerrito, CA
age : 40
reputation : 15653
Press any key to continue . . .
請問你的代碼段的工作? values是一個字符串數組,但您希望將它們枚舉爲類型爲classA的對象。 – dlev 2011-05-26 19:23:18
我認爲「它工作正常」應該重新審視。我懷疑這不會編譯。 – 2011-05-26 19:23:32
我不明白你是如何迭代字符串數組中的對象作爲類型爲classA的項。這顯然不起作用,儘管你另有保證。 – spender 2011-05-26 19:24:02