这是c++中AMC_MESG类中定义的一个函数:
 void operator= (const AMC_MESG &rhs)
   {
      this->ucRawMesgSize = rhs.ucRawMesgSize;
      this->ucSize = rhs.ucSize;
      memcpy(this->aucRawMesg,rhs.aucRawMesg,this->ucRawMesgSize);
      this->SetMesgID(rhs.usID);
      this->ucScrDest = rhs.ucScrDest;
   }
请问如何转成c#, 就是说在c#的AMC_MESG类中如何定义? 昨天问了没有得到想要得信息,大家帮一下忙,多谢

解决方案 »

  1.   

    C++不太会
    不过这个应该是重写=操作符(等于号)
    作用是rhs指针所指的内存的内容拷贝到=左面的变量中另外AMC_MESG是不是在C++的程序中定义的结构或者类?如果是,那你得把它的定义拿出来,大家才能给你转换
      

  2.   

    你可以实现 ICloneable 接口用 Clone() 方法代替这个 = 
      

  3.   


     public class AMC_MESG : ICloneable{
    public int ucRawMesgSize;
    public int ucSize;
    public int ucScrDest;
    public string aucRawMesg;

    private int usID;

    public void SetMesgID(int newUsID){
    usID=newUsID;
    }

    public object Clone(){
    AMC_MESG o=new AMC_MESG();
    o.ucRawMesgSize = ucRawMesgSize;
    o.ucSize = ucSize;
    o.ucScrDest = ucScrDest;
    o.aucRawMesg = aucRawMesg;
    o.SetMesgID(usID);
    return o;
    }
    }