Manage.cpp
上传用户:sz0451
上传日期:2022-07-29
资源大小:256k
文件大小:1k
源码类别:

.net编程

开发平台:

Visual C++

  1. // This is the main project file for VC++ application project 
  2. // generated using an Application Wizard.
  3. #include "stdafx.h"
  4. #include <gcroot.h>
  5. #using <mscorlib.dll>
  6. using namespace System;
  7. using namespace System::Runtime::InteropServices;
  8. __gc class MClass
  9. {
  10. public:
  11.     int val;
  12.     MClass(int n) { val = n; }
  13. };
  14. class UClass
  15. {
  16. public:
  17.     gcroot<MClass*> mc;
  18.     UClass(MClass* pmc)
  19.     {
  20.         mc = pmc;
  21.     }
  22.     int getValue()
  23.     {
  24.         return mc->val;
  25.     }
  26. };
  27. // This is the entry point for this application
  28. #ifdef _UNICODE
  29. int wmain(void)
  30. #else
  31. int main(void)
  32. #endif
  33. {
  34.     Console::WriteLine(S"Testing...");
  35.     // Create a managed object
  36.     MClass* pm = new MClass(3);
  37.     // Create an unmanaged object
  38.     UClass uc(pm);
  39.     int v = uc.getValue();
  40.     Console::WriteLine("Value is {0}", __box(v));
  41.     return 0;
  42. }