Stack类的另外一个问题是无法强制堆栈中的数据的种类。确实,一个Customer实例可以被压入栈中,而在取回它的时候会意外地转换成一个错误的类型
那我怎么纠正这个错误的类型呢?
请大侠帮忙!
注:我使用的是范型!

解决方案 »

  1.   

    取出来的时候转换为你想要的类型阿 进去后都是object吧 
      

  2.   

    对于范型, 压栈和出栈的时候都保持声明的type类型.
      

  3.   

    如果我的压入的是个 COM类型呢
      

  4.   

    回4楼: 如果Interop之间的类型不匹配并且系统没有提供默认的操作类型, 那么需要自己做marshal来定义struct中的各个成员的layout
      

  5.   

    问题是解决了 不过 这个问题好像没有其他的办法来解决吧 我是最后绕过了COM类型!
    想听听高人的意见!
      

  6.   

    如果不愿意自己写code进行marshal的话,也可以使用TLBIMP这个工具把COM类型中的类型定义转换为.NET的CLR中的等效定义.然后通过在托管代码中引用这个导入库的DLL来实现对于COM类型的操作.