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

本文关键字:获取 取对象 类型 实例化 对象 | 更新日期: 2023-09-27 18:37:26

我在数据库中创建了一个带有字段定义的表,我的意思是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'

我的方式正确吗?

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

由于从

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

只需做:

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

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

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

像下面一样,

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