Bonjour à tous,
J'ai une fonction avec une énumération en paramètre qui me retourne un DataTable après une série d'itération. Le problème est que à chaque tentative, un problème de CAST surgit:
Voici ma fonction:
J'appelle cette fonction comme suit :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39 public static DataTable GetLINQToDataTable<t>(IEnumerable<t> varlist) { DataTable dtReturn = new DataTable(); // column names PropertyInfo[] oProps = null; if (varlist == null) return dtReturn; foreach (IEnumerable<t> rec in varlist) { if (oProps == null) { foreach (PropertyInfo pi in oProps) { Type colType = pi.PropertyType; if ((colType.IsGenericType) && (colType.GetGenericTypeDefinition() == typeof(Nullable<>))) { colType = colType.GetGenericArguments()[0]; } dtReturn.Columns.Add(new DataColumn(pi.Name, colType)); } } DataRow dr = dtReturn.NewRow(); foreach (PropertyInfo pi in oProps) { dr[pi.Name] = pi.GetValue(rec, null) == null ? DBNull.Value : pi.GetValue(rec, null); } } return dtReturn; }
Lors du débogage, le programme saute au niveau du :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 IEnumerable<Person > listePerson = (from oPerson in ContexteDAO.ContexteDonnees.Persons where oPerson .CodeCompagnie == aCodeCompagnie select oPerson ).ToList(); DataTable dt = new DataTable(); dt = LINQToDataTable(listePerson);Merci de me donner un coup de main.
Code : Sélectionner tout - Visualiser dans une fenêtre à part foreach (IEnumerable<t> rec in varlist)
Partager