我認爲這個問題可以使用反射(我不太確定的技術)來排序。如何確定什麼對象[]作爲參數傳遞包含?
我的代碼正在接收一些已在運行時序列化爲XML的代碼對象。當我收到它並對其進行反序列化時,一個字段導致了一些麻煩。
沒有可以包含以下數據類的組合(爲了清楚而簡化)一個字段:
class KeyValuePairType
{
public string Key;
public string Value;
}
class KeyValueListPair
{
public string Key;
public string[] Value;
}
我接收到這些我的代碼作爲對象[]和我需要確定在運行時什麼這恰恰包含這樣我可以調用一個本地對象的接口,它需要 KeyValuePairType []和KeyValueListPair []作爲參數,例如
public DoSomeWork(KeyValuePairType[] data1, KeyValueListPair[] data2)
我有以下的情況下,以應付:
對象[]包含:
沒有在這種情況下,我請 DoSomeWork(NULL,NULL);
KeyValuePairType的陣列只, 在這種情況下我請 DoSomeWork(KeyValuePairType [], NULL);
KeyValueListPair的陣列只, 在這種情況下我請 DoSomework(NULL, KeyValueListPair []);
或每個的陣列,在這種情況下我 調用DoSomework(KeyValuePairType [], KeyValueListPair []);
任何想法都歡迎。
謝謝
事實證明,所述對象數組包含離散對象的隨機序列。最初,我被引導到相信它可能是這些對象的一系列分立和數組。
因爲這是LINQ聲明將涵蓋所有可能性。
我可以對那些回答的人表示非常感謝。我已經爲那些回答LINQ聲明的人發佈了+1。
據我瞭解的問題, 「值」 可以包含*陣列*的KeyValuePairType或KeyValueListPair而不是簡單的元素。 – 2009-06-25 17:03:45
這是可能的 - 這不是很清楚。如果是這樣,我們是否打算多次撥打DoSomeWork? OP,請澄清! – 2009-06-25 18:47:49