2011-10-03 17 views
5

Sólo me preguntaba si hay una manera fácil de saber cuántos elementos están contenidos en una clase Tuplanúmero de elementos en Tupla <...>

por ejemplo.

var a = new Tuple<int,int>(1,2); 

pero ¿cuántos elementos hay? Tal vez no nos importa si tratamos de transmitir a través de la palabra clave como

var a1 = a as Tuple<int> 
if(a1!=null) 

var a2 = a as Tuple<int,int> 
if(a2!=null) 

Justo después de un pequeño comentario. ¿Muchas personas usan Tuple?

+0

A veces uso Tuple, pero como los parámetros de Tuple no tienen nombre, prefiero usar tipos anónimos cuando puedo mantener el uso con un único método. La mayoría de las veces que uso Tuple es junto con ['Enumerable.Zip'] (http://msdn.microsoft.com/en-us/library/dd267698.aspx). –

+1

¿En qué situación está obteniendo un Tupple y todavía no sabe su tipo? ¿Estás escribiendo un código 'dinámico'? – Kobi

+1

Conozco los tipos pero el tipo no me dice la intención. 'new {StockCount = 4, BackOrders = 5,}' es mucho más autoexplicativo que 'Tuple.Create (4, 5)'. –

Respuesta

12
var a = new Tuple<int, int>(1, 2); 
var aType = a.GetType(); 
var numberOfGenericParameters = aType.GetGenericArguments().Length; 
Cuestiones relacionadas