【发布时间】:2013-09-15 18:22:14
【问题描述】:
我刚刚了解了泛型,我想知道是否可以使用它从我的类中动态构建数据表。
或者我可能错过了这里的重点。 这是我的代码,我想做的是从我现有的类创建一个数据表并填充它。但是我陷入了思考过程。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Reflection;
using System.Data;
namespace Generics
{
public class Dog
{
public string Breed { get; set; }
public string Name { get; set; }
public int legs { get; set; }
public bool tail { get; set; }
}
class Program
{
public static DataTable CreateDataTable(Type animaltype)
{
DataTable return_Datatable = new DataTable();
foreach (PropertyInfo info in animaltype.GetProperties())
{
return_Datatable.Columns.Add(new DataColumn(info.Name, info.PropertyType));
}
return return_Datatable;
}
static void Main(string[] args)
{
Dog Killer = new Dog();
Killer.Breed = "Maltese Poodle";
Killer.legs = 3;
Killer.tail = false;
Killer.Name = "Killer";
DataTable dogTable = new DataTable();
dogTable = CreateDataTable(Dog);
//How do I continue from here?
}
}
}
现在在DataTable 点出现错误。
另外,作为反射和泛型的新手,我将如何使用 Killer 类实际填充数据?
【问题讨论】:
-
好的,所以你实际上并没有使用泛型,你得到了什么错误?
-
我不是?哎呀。错误 2 'Generics.Program.CreateDataTable(System.Type)' 的最佳重载方法匹配有一些无效参数 错误 3 参数 1:无法从 'Generics.Dog' 转换为 'System.Type' 错误 1 'Generics.Dog'是“类型”,但用作“变量”
-
Generics + DataBase=Entity Framework。请不要重新发明轮子。 -
好的,所以我弄错了泛型,但我仍然想做的是从现有类中创建动态数据表
标签: c# .net oop reflection