2013-10-30 147 views
0

我在数据库中创建了一个带有字段定义的表格,我的意思是TableName,ColumnName。 然后我创建了一个具有表格所有结构的类。 然后我创建了一个Property GetObjectType()如何在对象实例化C#时获取对象类型。

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

看来你正在重新实现轮子。为什么不直接使用从基类继承的GetType()方法? – PMF

+0

这不是我的对象的类型。我想从我的两个属性(TableName,FieldName) –

+0

的类型哦,这是行不通的。 GetType只返回其元数据真正存在的类型,这意味着在您的代码中真正定义的类型。你可能想要的是为你的类型获取某种标识符。我想你必须手动完成。 – PMF

回答

0

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

像下面,

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

每个对象都有它的方法GetType()由于从System.Object

继承只要做到:

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

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