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
|
using System;
using System.Collections.Generic;
using System.Reflection;
using System.Text;
using MonoTests.ModelProviders;
using MonoTests.DataSource;
namespace MonoTests.Common
{
public class TestDataTable <DataType> : DynamicDataTable
{
public TestDataTable ()
{
this.DataType = typeof (DataType);
this.Name = typeof (DataType).Name + "Table";
}
public override List<DynamicDataColumn> GetColumns ()
{
var ret = new List<DynamicDataColumn> ();
Type type = typeof (DataType);
MemberInfo[] members = type.GetMembers (BindingFlags.Public | BindingFlags.Instance);
foreach (MemberInfo mi in members) {
if (mi.MemberType != MemberTypes.Field && mi.MemberType != MemberTypes.Property)
continue;
ret.Add (new TestDataColumn <DataType> (mi));
}
return ret;
}
}
}
|