一个c语言的dll中有例如CStringTestFunc的接口定义,
参数为CStringListTest 的引用
如下:class CStringTest: CObject
{
public:
CString     m_strIPAddress;
public:
CStringTest() {};
virtual ~CStringTest() {};
};
class CStringListTest : public CTypedPtrList<CObList, CStringTest*>
{
public:
CStringListTest() {};
virtual ~CStringListTest();
}; __declspec(dllexport) bool CStringTestFunc(CStringListTest& cstrList);以上为示例代码!
目前我需要在C#中通过dll调用这个接口,需要对CStringTestFunc方法进行重新包装,我在C#中把CStringListTest 类尝试定义为List<CStringTest>类型或者ArrayList类型,都发现无法传递值到CStringTestFunc中。换句话说,在C#这边,我构造了CStringTest对象,并附值给strIPAddress,然后add到CStringListTest 对象并作为参数调用CStringTestFunc,但发现到了调用dll的CStringTestFunc方法中,对应的strIPAddress并没有附上值。应该是c#这边对CStringListTest 封装不对,求教该怎么做?