Having read all the embeded and script features of mono, I want to use C# instead of Lua as the script language while the host language is C++ in my project. I want to use C#( managed code ) to call the functions which exposed from C++ using internal-call approach, and i want to call the instance method( C++ ) also. But i tried and read all the material, i can't resolve it. Only find one way that is use another internal-call to received a pointer of a object, here is the example.
//******************* C++ ******************* ... class SimpleClass { ... public: Hello( ) { printf( "Hello" ); } ... } void testcall( SimpleClass *sc ) { return sc->Hello( ); } ... int main( int argc, char* argv[] ) { ... mono_add_internal_call( "Embed.MyType::testcall", ( const void* )testcall ); ... SimpleClass sc; args[0] = ≻ mono_runtime_invoke( method, obj, args, NULL ); } //******************* C# ******************** ... class MyType { [MethodImplAttribute( MethodImplOptions.InternalCall )] public static extern void testcall( ref IntPtr p ); ... void SomeMethod( ref IntPtr p ) { ... testcall( ref p ); ... } } ... Is there a another better way to call from C#( managed code ) by passing the pointer( IntPtr in C# ) of one C++ object and invoke its method? ( like the Lua does ) Looking forward to your reply. -- View this message in context: http://old.nabble.com/Internal-Call-tp26691444p26691444.html Sent from the Mono - Dev mailing list archive at Nabble.com. _______________________________________________ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list