C++能否引用C#编译的DLL,调用其中任意类和方法?解决方案

C++能否引用C#编译的DLL,调用其中任意类和方法?
我是做虚拟现实开发的,主要平台是Unity3D,一直用C#写脚本和插件,最近得到消息U3D这个平台根本就不保护程序源代码,就是U3D发布后很容易取得脚本和插件的源代码;因此想换C++写插件,但只有C知识,用不到。现在根据我的需要问一下可不可实现,如何实现。

  1、C++程序能否引用UnityEngine.dll里面的类和方法,怎么引用?我要的不是引用或调用其中的某个方法或类,那没有意义,因为插件一写起来往往会调用UnityEngine.dll中很多的类和方法,因此最好是采用C#中类using的方法。另外用Load那个方法也没用,因为我希望C++类继承自UnityEngine.dll中的MonoBehaviour类,如果使用Load就无法实现类继承自此DLL;故此另外一个在C++类中实现的方法(好像是extern)也是无效的。

  2、C++写的类或方法从UnityEngine.dll中的类继承如何实现?我想让C++类继承自UnityEngine.dll中的MonoBehavour类,这个问题不是很大,重要的是第一个问题。

注:
  1、我有UnityEngine.dll其中所有类和方法的详细手册,并且反编译了此DLL(我只是学习和看一下其中的namespace,并不打算实行逆行工程,因此算不得违法);
  2、用C#写过很多脚本和一些插件,很熟。

  最好是给个很小的例子,因为我是C++新手一点基础都没有,只是有一些C#基础,谢谢。

------解决方案--------------------
虚拟机我不懂。我帮你顶起来