是这样的,我在做一个模型库系统,模型是dll文件,使用C#自己写的那种dll文件,在网上查了下不是win32 dll,只能添加引用再在后台写,但这样就写死了,我想每一个模型都做一个dll文件,是不是必须得用c++写啊,用com组件可以吗?不知道能不能都在.net环境下完成,我目前只对这个熟悉点,visual c++都没接触过
那位大侠能指点一下?先谢了

解决方案 »

  1.   

    dll 分两种  托管dll  例如C#输出的类库
    非托管dll  例如C/C++编译出的库你想做成哪种
      

  2.   

    在C#中编写托管DLL文件,通过引用或反射调用
    非托管dll 就要使用DllImport调用
      

  3.   

    托管DLL直接用反射.
    非托管Dll先LoadLibrary然后GetProcAddress获得对应函数的委托.
      

  4.   

    1. 添加一个dll项目,项目中只要有调用模型通用的接口就可以了。
    2. 每一个模型引用该接口dll,并实现接口。
    3. 模型库主系统也引用接口dll,当它动态装入模型的时候,找到一个实现了接口的类,实例化并转换为接口。
    4. 现在模型库主系统就能调用模型了。
    如果需要更强的扩展结构,则可以参考微软的Managed Extensibility Framework