我用一个C#工程导入一个VC写的com组件库。Add reference添加了一个com组件以后,Object Browser显示有一个函数叫做Sum:int Sum(short[] sArray)
    Member of ATLProject1Lib.IBar但其实我在VC写的idl文件里面是制定了这个数组的元素个数的:interface IBar : IDispatch{
    [id(1)] HRESULT Sum([in] short sArray[5],[out,retval]long *pVal);
};这里idl里面声明的short sArray指定了数组有5个元素。这个5是有意义的,如果我不指定一个数字,我就u需要这样:    [id(2)] HRESULT Sum2([in] short nArraySize, [in,size_is(nArraySize)] short sArray[], [out,retval] long* pVal);这样的函数导入到C#的interop里面显示的结果如下:int Sum2(short nArraySize, ref short sArray)
    Member of ATLProject1Lib.IBar
所以我的问题就在于: com接口函数定义的时候,指定了[5]这样的元素个数,为什么导入tlb的结果是[5]这个个数信息被去掉了呢?