如何在对象实例化C#时获取对象类型。

时间:2013-10-30 16:31:17

标签: c# reflection types instance

我在数据库中创建了一个带有字段定义的表,我的意思是TableName,ColumnName。 然后我创建了一个具有表的所有结构的类。 然后我创建了一个Property GetObjectType()

我想要的是在实例化时,Property 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'

我的方式正确吗?

3 个答案:

答案 0 :(得分:0)

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

如下所示,

Myclass obj=new MyClass();
Type type=obj.GetType();

答案 1 :(得分:0)

由于继承自System.Object

,每个对象都有GetType()方法

只是做:

 MyClass obj = new MyClass();
 Type myType = obj.GetType();

答案 2 :(得分:0)

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

相关问题