充分利用XML的序列化和反列化生成对象即可
类-------->XML
XML-------类

解决方案 »

  1.   

    http://dev.csdn.net/develop/article/19/19546.shtm
      

  2.   

    System.Activator.CreateInstance("className");
    方法不只这一种,System.Type.InvokeMember()也行,不过很麻烦。
    到MSDN中再参考参考。
      

  3.   

    pjliping(笨笨)讲的不懂,这有什么关系吗?怎么用 stoway(X.G.Z) 给的地址是讲attribute的,也不知和这主题有什么关系
      

  4.   

    agree with milkbb(李宇杰),使用CreateInstance需要指明assembly和type即可
      

  5.   

    System.Activator.CreateInstance("className");不对吧,参数需要的是一个type,那我的"className"怎么传进去,返回时我又用什么方法接收
    System.object myClass=System.Activator.CreateInstance("className"); 吗?这样也不对啊,object只有两个方法,我就用不了myClass.method了。我昨天查了一天的msdn了,也没什么用得上的帮助,可能是我看不懂。你们就再帮帮忙吧。
      

  6.   

    问题解决了,多谢楼上各位的提醒。通过这个问题,也发现了看帮助的几个问题。
    第一,不要怕参数复杂且多。
    第二,帮助中的代码有时是伪码,说明了一定的意义。要仔细研读。
    第三,要打好基础,例子也不一定完全对,自己要有容错性。
    ObjectHandle hdlSample;
    hdlSample=System.Activator.CreateInstance("sh1","CodeTable."+mycode,true,BindingFlags.Instance|BindingFlags.Public,null
    ,null,null,null,null);
    code myClass;
    myClass=(code)hdlSample.Unwrap();
    return myClass.getCode();说明以上三点:
    一,上面CreateInstance有12个参数,有点BingingFlags原本都不知是什么东西,不过好好看看能看懂,有些地方是object[] args,我用null代替了。二,code是我的接口,在帮助中是IMyExtenderInterface,帮助中的参数"Assembly text name, Version, Culture, PublicKeyToken","samplenamespace.sampleclass",
    在代码中相应该是:程序工程的名称(当然是默认情况),Class的命名间.ClassName,三,帮助中myExtenderInterface = IMyExtenderInterface(hdlSample.Unwrap());一句
    我改成myExtenderInterface = (IMyExtenderInterface)hdlSample.Unwrap();形式才能运行,我不敢肯定例子是错的,不过有时必须得变通。