0

我在数据库中创建了一个带有字段定义的表,我的意思是 TableName、ColumnName。然后我创建了一个具有表的所有结构的类。然后我创建了一个属性 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'

我的方式正确吗?

4

3 回答 3

0

在 GetObjectType 函数中放置一个断点,并在执行时在即时窗口中测试您的代码行。我猜您的类名/命名空间与您的期望不完全匹配。

于 2013-10-30T16:46:15.973 回答
0

直接使用 GetType()。您不必为它编写自定义 GetObjectType() 方法。

如下所示,

Myclass obj=new MyClass();
Type type=obj.GetType();
于 2013-10-30T16:41:24.070 回答
0

由于继承自 System.Object,每个对象都有 GetType() 方法

做就是了:

 MyClass obj = new MyClass();
 Type myType = obj.GetType();
于 2013-10-30T16:42:41.357 回答