2010-07-29 55 views
1

我有一個C++庫,它提供了以下枚舉和功能:我如何定義痛飲類型映射,即一個引用參數從C++轉換爲C#

typedef enum en{ 
    a, 
    b 
}myEnum; 

int myFunction(myEnum &varToSet) 
{ 
    varToSet = 1; 
    return 0; 
} 

在C#包裝的功能看起來應該像這樣:

public static int myFunction(ref myEnum varToSet) 

我試圖通過在痛飲接口文件類型映射之後得到這個結果:

%typemap(cstype) myEnum & "ref myEnum" 
%typemap(csin) myEnum & %{ref $csinput%} 

Swig將類型從SWIGTYPE_p_myEnum改爲在Wrapper.cs中引用myEnum,但不在WrapperPINVOKE.cs中。我在這裏錯過了什麼?

回答

0

您需要添加一個類型映射爲imtype:

%typemap(imtype) myEnum & "ref myEnum"