首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

C++代码转换为C#该如何处理

2012-04-27 
C++代码转换为C#大家好,请教一个问题,希望可以帮忙,有一段C++代码,我想转换为C#的,因为我对C++不熟悉,所以

C++代码转换为C#
大家好,请教一个问题,希望可以帮忙,有一段C++代码,我想转换为C#的,因为我对C++不熟悉,所以实现有点困难,请各位帮忙,希望不甚赐教,在这里学习了。

C++代码如下:
typedef CMyList<PER_HANDLE_CONTEXT*,PER_HANDLE_CONTEXT > Contextlist;

下面是定义的类CMyList:
template <class theCL,class CL>
class CMyList
{
public:
//创建一个list容器的实例LISTINT
typedef list<theCL> myList;

//typedef list<int (*callback)(int,char*)> myList;

CMyList(void);
~CMyList(void);

int LinkCount;
myList useList;
myList BakList;

//销毁
void DestroyList();
//重置为空表
void ClearList();
//加在头节点
BOOL AddFirst(theCL e);
//加在头节点
BOOL AddBakFirst(theCL e);
//加在尾节点
BOOL AddLast(theCL e);
//取得头
theCL GetFirst();
//取得尾部
theCL GetLast();
//移除头
BOOL RemoveFirst();
//移除尾部
BOOL RemoveLast();
//第i个位置之前插入
BOOL InsertAt(int i,theCL e);
//删除第I个
BOOL ListDelete(int i);
//元素的数量
int GetCount();
//取得第i个元素
theCL GetAt(int i);
//删除元素
BOOL ListDelete(theCL e);
BOOL SetAt(int i,theCL e);
//取得头
theCL GetBakFirst();
BOOL RemoveBakFirst();
//元素的数量
int GetTempCount();
};



[解决办法]
这个问题是这样的:

首先,转换这一部分代码:

C/C++ code
template <class theCL,class CL>class CMyList{public://创建一个list容器的实例LISTINTtypedef list<theCL> myList;// typedef list<int (*callback)(int,char*)> myList;CMyList(void);~CMyList(void);int LinkCount;myList useList;myList BakList;//销毁void DestroyList();//重置为空表void ClearList();//加在头节点BOOL AddFirst(theCL e);//加在头节点BOOL AddBakFirst(theCL e);//加在尾节点BOOL AddLast(theCL e);//取得头theCL GetFirst();//取得尾部theCL GetLast();//移除头BOOL RemoveFirst();//移除尾部BOOL RemoveLast();//第i个位置之前插入BOOL InsertAt(int i,theCL e);//删除第I个BOOL ListDelete(int i);//元素的数量int GetCount();//取得第i个元素theCL GetAt(int i);//删除元素BOOL ListDelete(theCL e);BOOL SetAt(int i,theCL e);//取得头theCL GetBakFirst();BOOL RemoveBakFirst();//元素的数量int GetTempCount();};
[解决办法]
C++指针定义就是C#的类对象定义,而你的sockaddr_in定义为了结构体,这样使用起来就比较麻烦,因为C#处理结构体时按照值类型处理的,而不是引用地址,如果一定要用到地址的场合,建议改写为class。
另外你的数据类型对应有误,C++的long不是C#的long,C++的long是C#的int,这里有数据类型对照表,自己看:http://www.cnblogs.com/yiki/archive/2008/10/29/1321848.html

热点排行