我想请求帮助。 我有以下课程:
public class POCOConfiguration : EntityTypeConfiguration<POCO>
{
public POCOConfiguration()
{
}
}
...
POCOConfiguration instance = new POCOConfiguration ();
如何从实例获取POCO类型?
由于
答案 0 :(得分:9)
instance.GetType().BaseType.GetGenericArguments()[0]
答案 1 :(得分:0)
看一看:http://msdn.microsoft.com/en-us/library/b8ytshk6.aspx
有一个示例显示如何获取类型(步骤3,4和5)
答案 2 :(得分:0)
如果类有一个paremeterless构造函数,那么你可以写:
public class POCOConfiguration : EntityTypeConfiguration<POCO> where POCO : new()
{
public POCOConfiguration()
{
var poco = new POCO();
}
}
否则你必须使用反射,请参阅Activator class。
答案 3 :(得分:0)
检查这个
POCOConfiguration instance = new POCOConfiguration();
Type t = instance.GetType().BaseType.GetGenericArguments()[0];
//here t is the type of POCO
会工作......
答案 4 :(得分:0)
如果我理解你,你想得到POCO的类型。然后声明一个方法并调用它,如下所示;
public Type GetTypeOfPoco<T>(EntityTypeConfiguration<T> entityTypeConfiguration)
{
Type t = typeof(T);
return t;
}
打电话给它;
Type t = GetTypeOfPoco(instance);
答案 5 :(得分:0)
另一个答案很简单
instance.GetType().BaseType that return the base Type of class o parent class
the instance.GetType().BaseType.GetGenericArguments()[0]
会产生异常