【发布时间】:2013-11-10 09:34:49
【问题描述】:
我在数据库中创建了一个带有字段定义的表,我的意思是表名、列名。 然后我创建了一个具有表的所有结构的类。 然后我创建了一个 Property GetObjectType()
我想要的是在实例化的那一刻,属性 GetObjectType 已经通过反射加载了属性的信息。
我做了这样的事情。
public partial class MyClass
{
private Type boType;
private string tableName;
private string fieldName;
public strig TableName{
//Get and set
}
public strig FieldName{
//Get and set
}
public Type GetObjectType
{
get
{
if(boType == null)
{
this.boType = Type.GetType("NameSpace" + this.FieldName, NameSpace"));
}
return this.boType;
}
}
}
我想做
MyClass obj = new MyClass();
Type myType = obj.GetObjectType(); //Always null'
我的方法正确吗?
【问题讨论】:
-
看来您正在重新实现轮子。为什么不直接使用从基类继承的 GetType() 方法?
-
这不是我的对象的类型。我想要一个来自我的两个属性(TableName、FieldName)的类型
-
哦,那行不通。 GetType 仅返回其元数据确实存在的类型,即在您的代码中真正定义的类型。您可能想要的是为您的类型获取某种标识符。我猜你必须手动完成。
标签: c# reflection types instance