views:

33

answers:

2

i think this is a simple question but I've searched around and can't seem to find an answer easily.

if you have

var list = List<int>();
... fill list ...

and you want to get the generic type in list, i realise you could just type:

var t = list.FirstOrDefault().GetType();

Is there another way to do this via just the list, rather than referring to the enumeration?

Reason is, i have a System.Data.Linq.Table<TABLE1> and what i want to do is get the type of TABLE1 from it.

so:

var table = new DataContext().TABLE1s; // this is Table<TABLE1>
var tableType = table.GetType().SomeMethod(); 
// i want tableType to equal TABLE1.GetType()
+1  A: 
Type  GetType<T>(Table<T> table)
{
    return typeof(T);
}

var table = new DataContext().TABLE1s; // this is Table<TABLE1>  
var tableType = GetType(table);
James Curran
well.. didn't think of that! was too caught up in using reflection.. duh!
benpage
too many notes.... ;-) http://www.youtube.com/watch?v=dCud8H7z7vU
Sky Sanders
+2  A: 

try this to get the entity type of the table

var tableType =table.GetType().GetGenericArguments()[0];
Sky Sanders