我使用反射获取一个类的对象object  请问下桌面才能把这个object 转换成我需要的那个类啊
object obj = System.ReflectionAssembly.GetExecutingAssembly().CreateInstance(this.GetType().Namespace + "." + "MyClass", false);
MyClass是我的类名 现在想把这个object转成MyClass类对象谢谢

解决方案 »

  1.   

    MyClass mc= obj as MyClass;
    if(mc!=null)
    {
      ... do sth
    }
      

  2.   

    我现在是举个例子说那个类叫MyClass  其实我不知道类名,类名是通过哟个方法返回的字符串。也就是说我反射这个类对象的时候不知道它的名字 而是用一个方法获取了一个类名的字符串而已。
    谢谢
      

  3.   


    不行的啊  增加父类后强制转成父类那么子类中写的方法就不能用了。本来我是要用工厂接口做的,但是我的这个实现会很复杂所以只能通过一个公有方法获取类名然后反射成一个对象然后转换,但现在不知道怎么转换成目标对象了,因为反射回来就是个object谢谢
      

  4.   


    现在这个object已经是我要的对象了 只是不知道桌面强制转换它,因为我的类名只是一个方法返回的字符串谢谢
      

  5.   

    我的代码是这样的
    object obj = System.Reflection.Assembly.GetExecutingAssembly().CreateInstance(this.GetType().Namespace + "." + ValidateFactory.GetValidateEntityName(), false);红色的部分就是获取类名的方法 ,它只是返回了一个字符串
    谢谢
      

  6.   

    http://www.cnblogs.com/xianzuoqiaoqi/archive/2009/04/07/1431153.html
      

  7.   

    现在我的问题就是 要根据一个object对象 和一个类名字符串 这个类名只是个字符串,来将这个object转换成这个类名对象谢谢