простой пример: предположим, у нас есть управляемый класс Hello в сборке .NET (hello.dll).
//This is c# but it could be also vb. Compilator of c# and VB.net translate it to same thing .Net assembly dll. Which is internaly exactly the same as c# dll.
class Hello
{
public void HelloWorld()
{
Console.Writeline("Hello World!");
}
}
Теперь нам нужно определить собственный прокси-класс для Hello:
class Hello
{
public:
Hello() : wrapper_("hello.dll", "namespace name") {}
void HelloWorld()
{
wrapper_("Hello");
}
private:
nativeAdapter::NativeProxy wrapper_;
};
}
В нашей основной функции мы можем использовать прокси, как если бы это был управляемый класс:
int main(int, char **)
{
Namespace::Hello hello;
hello.Hello();
return 0;
}