// compile with: /clr
#include "stdafx.h"
#include <vcclr.h>
using namespace System;
#pragma managed
class NativeTypeILCode {
public:
static int Lentgh( gcroot<String^> s ) {
return s->Length;
}
};
#pragma unmanaged
class NativeTypeNativeCode {
public:
NativeTypeNativeCode( gcroot<String^> s ) {
m_Length = NativeTypeILCode::Lentgh(s);
}
int m_Length;
};
#pragma managed
int main() {
NativeTypeNativeCode * obj = new NativeTypeNativeCode( "Hello" );
Console::WriteLine( obj->m_Length );
delete obj;
}