用StringBuilder 试试public struct Params
{
public StringBuilder port=new StringBuilder(3); 
public StringBuilder ctrlID=new StringBuilder(3); 
public StringBuilder param=new StringBuilder(1024); 
}
[DllImport("CM60.dll")]
public static extern int OpenComm(ref Params lParams,int iType);

解决方案 »

  1.   

    gdami(糖米) :
    我试过的,编译不通过:结构中不能有实例字段初始值设定项
      

  2.   

    private struct Params
    {
     string port; 
     string ctrlID;
     string param; 
    }
    [DllImport("CM60.dll")]
    平日 static extern int OpenComm(ref Params lParams,int iType);

    private struct Params
    {
    StringBuilder port=new StringBuilder(3); 
    StringBuilder ctrlID=new StringBuilder(3); 
    StringBuilder param=new StringBuilder(1024); 
    }
    [DllImport("CM60.dll")]
    private static extern int OpenComm(ref Params lParams,int iType);
    试试看。