xInterop Native C++ to .NET Bridge

A native C++ wrapper generator for wrapping .NET assembly automatically

A tool capable of creating native C++ bridge class for .NET managed class instantly

 

xInterop Native C++ to .NET Bridge automatically creates native C++ DLL based on any given C# .NET assembly and C++ header file and lib file for the native C++ DLL so that any native application can reference and use the native DLL for further development. This Native C++ to .NET bridge technology is based on the top of xInterop .NET to Native C++ Bridge and reverse P/Invoke(reverse pinvoke).

xInterop Native C++ to .NET Bridge supports the following features.

C# .NET Class

A native C++ bridge class (or native C++ wrapper class or native C++ proxy class) is created for each C# .NET class type. The native bridge class is a proxy to accessing the C# .NET class. All public methods, both static and instance methods can be called from the native C++ world, public instant properties or static properties, public static fields or instant fields, and event can also be accessed from the native C++. The class of System::Object in the native world is the bridge class to the .NET version of System.Object.

C# .NET Generic Instance Type

A C# .NET generic instance is an concreted version of a generic type, such as List<int>. A native C++ bridge class (or native C++ wrapper class or native C++ proxy class) is created for each C# .NET generic instance type. The native bridge class is a proxy to accessing the C# .NET generic instance type. All public methods, both static and instance methods can be called from the native C++ world, public instant properties or static properties, public static fields or instant fields, and event can also be accessed from the native C++.

The generic instance type also includes the array type, such as int[].

C# .NET Struct

A native C++ bridge class is created for each C# .NET struct type. The native bridge class is a proxy to accessing the C# .NET struct. All public methods, both static and instance methods can be called from the native C++ world, public instant properties or static properties, public static fields or instant fields, and event can also be accessed from the native C++.

C# .NET Enum

A native C++ enum is created for each C# .NET enum type.

C# .NET Interface

A native C++ bridge class (or native C++ wrapper class or native C++ proxy class) is created for each C# .NET interface type. The native bridge class is a proxy to accessing the C# .NET interface. All public methods can be called from the native C++ world, public instant properties, and event can also be accessed from the native C++.

C# .NET Delegate

A native C++ bridge class with callback function is created for each C# .NET event handler.

C# .NET Event and Event Handlers

A native C++ bridge class with callback function is created for each C# .NET event handler.

C# .NET Properties

A native C++ property is created for each C# .NET property of an instance of a class. In the case of a static property of a C# .NET class, a get method is created to read the property, a set method is created to write the property. For read-only static property, only a get method is created to read the C# .NET property.

C# .NET Fields

A native C++ property is created for each C# .NET field of an instance of a class. In the case of a static field of a C# .NET class, a get method is created to read the field, a set method is created to write the field. For read-only static field, only a get method is created to read the C# .NET field.

C# .NET Constants

A native C++ static variable is created for each C# .NET constant value of a class.

Inheritance Architecture

All C++ classes are derived from System::Object class so that the instance of any class can be referenced by using System::Object, this is the exact same inheritance architecture in the C# .NET world where all the C# classes, structs are derived from System.Object.

Translate »