然而,我正在爲C++ CLI編寫一個封裝器,以便爲我們的應用程序提供一些新的部件(用C#編寫)保存並輕鬆訪問舊的本機庫。因此我需要將一些結構從c#傳遞給C++。這些結構在C++ Cli(dotnet)和C++中定義。將DOTNET封裝爲原生C++ CLI BestWay以傳遞結構?
實施例:
\\C+++
typedef struct
{
INFO16 jahr ;
INFO8 monat ;
INFO8 tag ;
INFO8 stunde ;
INFO8 minute ;
}
SDATUM;
\\c++ cli
[StructLayout(LayoutKind::Explicit)]
public value struct SDATUM
{
public:
[FieldOffset(0)]
UInt16 jahr;
[FieldOffset(2)]
Byte monat;
[FieldOffset(3)]
Byte tag;
[FieldOffset(4)]
Byte stunde;
[FieldOffset(5)]
Byte minute;
};
現在我提供在C++ CLI一些功能,其接受這種類型的dotnet型SDATUM在由值通的形式,其通過引用(sdatum%)和指針sdatum *像有相應的天然功能。我需要轉換/轉換這些結構?
這是一個非常好的模板,但不幸的是我無法使用提升。我會盡力實現它,而不是提升 – 2011-03-24 08:05:56