0
如果我有一個Tuple<int, double>
宣佈,我想得到以下。如何在C#中獲取元組的元素?
一個目的,我會想象這是一種類型的對象,就可以執行該比較,以的
obj == typeof(Tuple<>)
效果,它將返回true
。一組Type對象,相當於
new[]{typeof(int), typeof(double)}
。這可以反映出來,因爲元組對象公開它的項目屬性,但是我不知道這些屬性的順序和MSDN文章說我不能依靠觀察...
我需要這個以便爲泛型方法做一個特例,如果它傳遞了一個元組,它應該做一些特殊的事情。像這樣:
void foo<T>(...){
if(T == Tuple<Q, S, ...>){
//special code that needs to know what Q and S and ... are.
}
}
在此先感謝。
非常感謝。可惜我必須事先知道一些論據的數量。我想這是沒有辦法的? – Gleno 2010-09-24 03:16:09
嗯,有很多元組排列,所以你可以爲他們做計劃。例如,可以將所有16個類型存儲在一個數組中,並獲取與類型參數數量相對應的一個== GetGenericArguments()。Length。 – 2010-09-24 04:03:07