怎么将object 转换成 对象
有一个object 和一个类的格式一样 ,并且里面有值
我怎么将这个object 转换成这个类的对象 ?    用as,is不行

解决方案 »

  1.   

    对象类型 xx = (对象类型)obj;
    这样不行吗,如果运行报错,就加上一行
    Console.WriteLine(obj.GetType());
    看看输出是什么类型,是不是与 对象类型 名相同
      

  2.   

    行,,,但是结果 对象类型=null   值没有赋进去啊!!!!!!!
      

  3.   

    那 object 本身是不是 null
    if (obj != null)
    {
        Type type = obj.GetType();
        Console.WriteLine(type);
    }
    你加上上面的代码,断点在 if 上,单步运行下去,看看 if 里面的代码有没执行
      

  4.   

    那你obj对象里是不是没有得到值啊?
      

  5.   

    转换不了,C#是一种静态语言。不过你可以用反射创建一个某对象的实例,并且传给一个object类型。
      

  6.   

    问题是,object 从哪来的,如果是自定义类来,就能转回去
    如果不是,那就个赋值方法转吧
      

  7.   

    即使是ClassA和ClassB两个类中所有的属性,函数都一样,你也不可能直接转换。你可以尝试这样
    class ClassA
    {
        public ClassA(ClassB objClassB)
        {
            ...
        }
    }
      

  8.   

    Assembly.CreatInstance得到一个object,再把这个object转换成类
    Assembly assembly = Assembly.LoadFrom(.....);
    object obj = assembly.CreatInstance(....);
    或泛型<T>