是" mono_add_internal_call"只有CLR-Hosting可能吗?

时间:2015-08-11 17:09:31

标签: c# c++ mono clr clr-hosting

是否有任何功能具有相同的可能性,如" mono_add_internal_call"在CLR-Hosting中没有使用mono?

Mono

C ++代码:

static MonoString* Sample ()
{
  return mono_string_new (mono_domain_get(), "Hello!");
}
mono_add_internal_call ("Hello::Sample", Sample);

C#代码:

using System;
using System.Runtime.CompilerServices;

class Hello {
    [MethodImplAttribute(MethodImplOptions.InternalCall)]
    extern static string Sample ();
}

由于

1 个答案:

答案 0 :(得分:1)

而不是" mono_add_internal_call",我现在使用P / Invoke。它有相同的结果。因此,如果您使用CLR-Hosting调用C#DLL,则P / Invoke会调用CLR-Hosting Dll而不会创建新实例。

感谢卢卡斯。