Have you looked at some of the other bindings that call C++ from C#? One example is Qt#. It's a work in progress, but the basic concepts of using a C++ based toolkit from C# are working. There are many other examples, such as WxPython and QtJava.
The bindings that I have looked at use a two-level approach. The first level is a set of C functions. There are one or more C functions that perform 'new WhateverObject' and then return the result, and there are other C functions that simply call the C++ function. Thiis lower level is compiled #extern "C" so that name mangling is not performed. The second level consists of a set of C# methods that call the C functions. In the case of Qt#, the C functions are provided by another library QtC. I believe it is possible to minimize (probably not eliminate) the C layer, but the C functions that perform the 'new' for C++ objects are difficult to eliminate. The other two complications of calling C++ directly are that the compiler does name-mangling on the C++ methods, and the fact that virtual methods only appear as methods on the base class. > I have been looking at wxWindows for quite some time. I don't > think I personally want to deal with importing C++ classes and looking > at them as structs. This seems very, very painful. Unless someone can > explain an easier way to platform invoke these, I don't think this will > work. _______________________________________________ Mono-list maillist - [EMAIL PROTECTED] http://lists.ximian.com/mailman/listinfo/mono-list
