diff --git a/.gitignore b/.gitignore
index 8a30d25..8cfd3f8 100644
--- a/.gitignore
+++ b/.gitignore
@@ -31,6 +31,7 @@ bld/
[Oo]bj/
[Ll]og/
[Ll]ogs/
+[Gg]en/
# Visual Studio 2015/2017 cache/options directory
.vs/
diff --git a/Monkeymoto.NativeGenericDelegates.Tests/MSTestSettings.cs b/Monkeymoto.NativeGenericDelegates.Tests/MSTestSettings.cs
new file mode 100644
index 0000000..e466aa1
--- /dev/null
+++ b/Monkeymoto.NativeGenericDelegates.Tests/MSTestSettings.cs
@@ -0,0 +1,3 @@
+using Microsoft.VisualStudio.TestTools.UnitTesting;
+
+[assembly: Parallelize(Scope = ExecutionScope.MethodLevel)]
diff --git a/Monkeymoto.NativeGenericDelegates.Tests/Monkeymoto.NativeGenericDelegates.Tests.csproj b/Monkeymoto.NativeGenericDelegates.Tests/Monkeymoto.NativeGenericDelegates.Tests.csproj
new file mode 100644
index 0000000..791b43b
--- /dev/null
+++ b/Monkeymoto.NativeGenericDelegates.Tests/Monkeymoto.NativeGenericDelegates.Tests.csproj
@@ -0,0 +1,77 @@
+
+
+
+ net9.0
+ true
+ gen
+ true
+ disable
+ latest
+ enable
+ true
+ $(InterceptorsPreviewNamespaces);Monkeymoto.NativeGenericDelegates
+
+ true
+
+
+
+ $(DefineConstants);UNSAFE
+
+
+
+ $(DefineConstants);UNSAFE
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Analyzer
+ false
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ all
+ runtime; build; native; contentfiles; analyzers; buildtransitive
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Monkeymoto.NativeGenericDelegates.Tests/Tests.Marshallers.cs b/Monkeymoto.NativeGenericDelegates.Tests/Tests.Marshallers.cs
new file mode 100644
index 0000000..295c0b5
--- /dev/null
+++ b/Monkeymoto.NativeGenericDelegates.Tests/Tests.Marshallers.cs
@@ -0,0 +1,14 @@
+using System.Runtime.InteropServices;
+
+namespace Monkeymoto.NativeGenericDelegates.Tests
+{
+ public sealed unsafe partial class Tests
+ {
+ internal readonly struct DefaultMarshaller : IMarshaller { }
+
+ internal readonly struct CdeclMarshaller : IMarshaller
+ {
+ static CallingConvention? IMarshaller.CallingConvention => CallingConvention.Cdecl;
+ }
+ }
+}
diff --git a/Monkeymoto.NativeGenericDelegates.Tests/Tests.NativeActions.cs b/Monkeymoto.NativeGenericDelegates.Tests/Tests.NativeActions.cs
new file mode 100644
index 0000000..64b3c42
--- /dev/null
+++ b/Monkeymoto.NativeGenericDelegates.Tests/Tests.NativeActions.cs
@@ -0,0 +1,1172 @@
+using Microsoft.VisualStudio.TestTools.UnitTesting;
+
+namespace Monkeymoto.NativeGenericDelegates.Tests
+{
+ [TestClass]
+ public sealed unsafe partial class Tests
+ {
+ [TestMethod]
+ public void Test_INativeAction_0_FromAction()
+ {
+ _ = INativeAction.FromAction(Stubs.Stub_Action);
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_0_FromFunctionPointer()
+ {
+ _ = INativeAction.FromFunctionPointer(Stubs.ToPointer(&Stubs.Stub_UnmanagedAction0));
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_1_int_FromAction()
+ {
+ _ = INativeAction.FromAction(Stubs.Stub_Action);
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_1_int_FromAction_DefaultMarshaller()
+ {
+ _ = INativeAction.FromAction(Stubs.Stub_Action);
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_1_int_FromAction_CdeclMarshaller()
+ {
+ _ = INativeAction.FromAction(Stubs.Stub_Action);
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_1_int_FromFunctionPointer()
+ {
+ _ = INativeAction.FromFunctionPointer(Stubs.ToPointer(&Stubs.Stub_UnmanagedAction1));
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_1_int_FromFunctionPointer_DefaultMarshaller()
+ {
+ _ = INativeAction.FromFunctionPointer(Stubs.ToPointer(&Stubs.Stub_UnmanagedAction1));
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_1_int_FromFunctionPointer_CdeclMarshaller()
+ {
+ _ = INativeAction.FromFunctionPointer(Stubs.ToPointer(&Stubs.Stub_UnmanagedAction1));
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_1_string_FromAction()
+ {
+ _ = INativeAction.FromAction(Stubs.Stub_Action);
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_1_string_FromAction_DefaultMarshaller()
+ {
+ _ = INativeAction.FromAction(Stubs.Stub_Action);
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_1_string_FromAction_CdeclMarshaller()
+ {
+ _ = INativeAction.FromAction(Stubs.Stub_Action);
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_1_string_FromFunctionPointer()
+ {
+ _ = INativeAction.FromFunctionPointer(Stubs.ToPointer(&Stubs.Stub_UnmanagedAction1));
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_1_string_FromFunctionPointer_DefaultMarshaller()
+ {
+ _ = INativeAction.FromFunctionPointer(Stubs.ToPointer(&Stubs.Stub_UnmanagedAction1));
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_1_string_FromFunctionPointer_CdeclMarshaller()
+ {
+ _ = INativeAction.FromFunctionPointer(Stubs.ToPointer(&Stubs.Stub_UnmanagedAction1));
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_2_int_FromAction()
+ {
+ _ = INativeAction.FromAction(Stubs.Stub_Action);
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_2_int_FromAction_DefaultMarshaller()
+ {
+ _ = INativeAction.FromAction(Stubs.Stub_Action);
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_2_int_FromAction_CdeclMarshaller()
+ {
+ _ = INativeAction.FromAction(Stubs.Stub_Action);
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_2_int_FromFunctionPointer()
+ {
+ _ = INativeAction.FromFunctionPointer(Stubs.ToPointer(&Stubs.Stub_UnmanagedAction2));
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_2_int_FromFunctionPointer_DefaultMarshaller()
+ {
+ _ = INativeAction.FromFunctionPointer(Stubs.ToPointer(&Stubs.Stub_UnmanagedAction2));
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_2_int_FromFunctionPointer_CdeclMarshaller()
+ {
+ _ = INativeAction.FromFunctionPointer(Stubs.ToPointer(&Stubs.Stub_UnmanagedAction2));
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_2_string_FromAction()
+ {
+ _ = INativeAction.FromAction(Stubs.Stub_Action);
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_2_string_FromAction_DefaultMarshaller()
+ {
+ _ = INativeAction.FromAction(Stubs.Stub_Action);
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_2_string_FromAction_CdeclMarshaller()
+ {
+ _ = INativeAction.FromAction(Stubs.Stub_Action);
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_2_string_FromFunctionPointer()
+ {
+ _ = INativeAction.FromFunctionPointer(Stubs.ToPointer(&Stubs.Stub_UnmanagedAction2));
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_2_string_FromFunctionPointer_DefaultMarshaller()
+ {
+ _ = INativeAction.FromFunctionPointer(Stubs.ToPointer(&Stubs.Stub_UnmanagedAction2));
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_2_string_FromFunctionPointer_CdeclMarshaller()
+ {
+ _ = INativeAction.FromFunctionPointer(Stubs.ToPointer(&Stubs.Stub_UnmanagedAction2));
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_3_int_FromAction()
+ {
+ _ = INativeAction.FromAction(Stubs.Stub_Action);
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_3_int_FromAction_DefaultMarshaller()
+ {
+ _ = INativeAction.FromAction(Stubs.Stub_Action);
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_3_int_FromAction_CdeclMarshaller()
+ {
+ _ = INativeAction.FromAction(Stubs.Stub_Action);
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_3_int_FromFunctionPointer()
+ {
+ _ = INativeAction.FromFunctionPointer(Stubs.ToPointer(&Stubs.Stub_UnmanagedAction3));
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_3_int_FromFunctionPointer_DefaultMarshaller()
+ {
+ _ = INativeAction.FromFunctionPointer(Stubs.ToPointer(&Stubs.Stub_UnmanagedAction3));
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_3_int_FromFunctionPointer_CdeclMarshaller()
+ {
+ _ = INativeAction.FromFunctionPointer(Stubs.ToPointer(&Stubs.Stub_UnmanagedAction3));
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_3_string_FromAction()
+ {
+ _ = INativeAction.FromAction(Stubs.Stub_Action);
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_3_string_FromAction_DefaultMarshaller()
+ {
+ _ = INativeAction.FromAction(Stubs.Stub_Action);
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_3_string_FromAction_CdeclMarshaller()
+ {
+ _ = INativeAction.FromAction(Stubs.Stub_Action);
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_3_string_FromFunctionPointer()
+ {
+ _ = INativeAction.FromFunctionPointer(Stubs.ToPointer(&Stubs.Stub_UnmanagedAction3));
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_3_string_FromFunctionPointer_DefaultMarshaller()
+ {
+ _ = INativeAction.FromFunctionPointer(Stubs.ToPointer(&Stubs.Stub_UnmanagedAction3));
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_3_string_FromFunctionPointer_CdeclMarshaller()
+ {
+ _ = INativeAction.FromFunctionPointer(Stubs.ToPointer(&Stubs.Stub_UnmanagedAction3));
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_4_int_FromAction()
+ {
+ _ = INativeAction.FromAction(Stubs.Stub_Action);
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_4_int_FromAction_DefaultMarshaller()
+ {
+ _ = INativeAction.FromAction(Stubs.Stub_Action);
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_4_int_FromAction_CdeclMarshaller()
+ {
+ _ = INativeAction.FromAction(Stubs.Stub_Action);
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_4_int_FromFunctionPointer()
+ {
+ _ = INativeAction.FromFunctionPointer(Stubs.ToPointer(&Stubs.Stub_UnmanagedAction4));
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_4_int_FromFunctionPointer_DefaultMarshaller()
+ {
+ _ = INativeAction.FromFunctionPointer(Stubs.ToPointer(&Stubs.Stub_UnmanagedAction4));
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_4_int_FromFunctionPointer_CdeclMarshaller()
+ {
+ _ = INativeAction.FromFunctionPointer(Stubs.ToPointer(&Stubs.Stub_UnmanagedAction4));
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_4_string_FromAction()
+ {
+ _ = INativeAction.FromAction(Stubs.Stub_Action);
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_4_string_FromAction_DefaultMarshaller()
+ {
+ _ = INativeAction.FromAction(Stubs.Stub_Action);
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_4_string_FromAction_CdeclMarshaller()
+ {
+ _ = INativeAction.FromAction(Stubs.Stub_Action);
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_4_string_FromFunctionPointer()
+ {
+ _ = INativeAction.FromFunctionPointer(Stubs.ToPointer(&Stubs.Stub_UnmanagedAction4));
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_4_string_FromFunctionPointer_DefaultMarshaller()
+ {
+ _ = INativeAction.FromFunctionPointer(Stubs.ToPointer(&Stubs.Stub_UnmanagedAction4));
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_4_string_FromFunctionPointer_CdeclMarshaller()
+ {
+ _ = INativeAction.FromFunctionPointer(Stubs.ToPointer(&Stubs.Stub_UnmanagedAction4));
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_5_int_FromAction()
+ {
+ _ = INativeAction.FromAction(Stubs.Stub_Action);
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_5_int_FromAction_DefaultMarshaller()
+ {
+ _ = INativeAction.FromAction(Stubs.Stub_Action);
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_5_int_FromAction_CdeclMarshaller()
+ {
+ _ = INativeAction.FromAction(Stubs.Stub_Action);
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_5_int_FromFunctionPointer()
+ {
+ _ = INativeAction.FromFunctionPointer(Stubs.ToPointer(&Stubs.Stub_UnmanagedAction5));
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_5_int_FromFunctionPointer_DefaultMarshaller()
+ {
+ _ = INativeAction.FromFunctionPointer(Stubs.ToPointer(&Stubs.Stub_UnmanagedAction5));
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_5_int_FromFunctionPointer_CdeclMarshaller()
+ {
+ _ = INativeAction.FromFunctionPointer(Stubs.ToPointer(&Stubs.Stub_UnmanagedAction5));
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_5_string_FromAction()
+ {
+ _ = INativeAction.FromAction(Stubs.Stub_Action);
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_5_string_FromAction_DefaultMarshaller()
+ {
+ _ = INativeAction.FromAction(Stubs.Stub_Action);
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_5_string_FromAction_CdeclMarshaller()
+ {
+ _ = INativeAction.FromAction(Stubs.Stub_Action);
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_5_string_FromFunctionPointer()
+ {
+ _ = INativeAction.FromFunctionPointer(Stubs.ToPointer(&Stubs.Stub_UnmanagedAction5));
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_5_string_FromFunctionPointer_DefaultMarshaller()
+ {
+ _ = INativeAction.FromFunctionPointer(Stubs.ToPointer(&Stubs.Stub_UnmanagedAction5));
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_5_string_FromFunctionPointer_CdeclMarshaller()
+ {
+ _ = INativeAction.FromFunctionPointer(Stubs.ToPointer(&Stubs.Stub_UnmanagedAction5));
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_6_int_FromAction()
+ {
+ _ = INativeAction.FromAction(Stubs.Stub_Action);
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_6_int_FromAction_DefaultMarshaller()
+ {
+ _ = INativeAction.FromAction(Stubs.Stub_Action);
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_6_int_FromAction_CdeclMarshaller()
+ {
+ _ = INativeAction.FromAction(Stubs.Stub_Action);
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_6_int_FromFunctionPointer()
+ {
+ _ = INativeAction.FromFunctionPointer(Stubs.ToPointer(&Stubs.Stub_UnmanagedAction6));
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_6_int_FromFunctionPointer_DefaultMarshaller()
+ {
+ _ = INativeAction.FromFunctionPointer(Stubs.ToPointer(&Stubs.Stub_UnmanagedAction6));
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_6_int_FromFunctionPointer_CdeclMarshaller()
+ {
+ _ = INativeAction.FromFunctionPointer(Stubs.ToPointer(&Stubs.Stub_UnmanagedAction6));
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_6_string_FromAction()
+ {
+ _ = INativeAction.FromAction(Stubs.Stub_Action);
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_6_string_FromAction_DefaultMarshaller()
+ {
+ _ = INativeAction.FromAction(Stubs.Stub_Action);
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_6_string_FromAction_CdeclMarshaller()
+ {
+ _ = INativeAction.FromAction(Stubs.Stub_Action);
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_6_string_FromFunctionPointer()
+ {
+ _ = INativeAction.FromFunctionPointer(Stubs.ToPointer(&Stubs.Stub_UnmanagedAction6));
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_6_string_FromFunctionPointer_DefaultMarshaller()
+ {
+ _ = INativeAction.FromFunctionPointer(Stubs.ToPointer(&Stubs.Stub_UnmanagedAction6));
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_6_string_FromFunctionPointer_CdeclMarshaller()
+ {
+ _ = INativeAction.FromFunctionPointer(Stubs.ToPointer(&Stubs.Stub_UnmanagedAction6));
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_7_int_FromAction()
+ {
+ _ = INativeAction.FromAction(Stubs.Stub_Action);
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_7_int_FromAction_DefaultMarshaller()
+ {
+ _ = INativeAction.FromAction(Stubs.Stub_Action);
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_7_int_FromAction_CdeclMarshaller()
+ {
+ _ = INativeAction.FromAction(Stubs.Stub_Action);
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_7_int_FromFunctionPointer()
+ {
+ _ = INativeAction.FromFunctionPointer(Stubs.ToPointer(&Stubs.Stub_UnmanagedAction7));
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_7_int_FromFunctionPointer_DefaultMarshaller()
+ {
+ _ = INativeAction.FromFunctionPointer(Stubs.ToPointer(&Stubs.Stub_UnmanagedAction7));
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_7_int_FromFunctionPointer_CdeclMarshaller()
+ {
+ _ = INativeAction.FromFunctionPointer(Stubs.ToPointer(&Stubs.Stub_UnmanagedAction7));
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_7_string_FromAction()
+ {
+ _ = INativeAction.FromAction(Stubs.Stub_Action);
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_7_string_FromAction_DefaultMarshaller()
+ {
+ _ = INativeAction.FromAction(Stubs.Stub_Action);
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_7_string_FromAction_CdeclMarshaller()
+ {
+ _ = INativeAction.FromAction(Stubs.Stub_Action);
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_7_string_FromFunctionPointer()
+ {
+ _ = INativeAction.FromFunctionPointer(Stubs.ToPointer(&Stubs.Stub_UnmanagedAction7));
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_7_string_FromFunctionPointer_DefaultMarshaller()
+ {
+ _ = INativeAction.FromFunctionPointer(Stubs.ToPointer(&Stubs.Stub_UnmanagedAction7));
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_7_string_FromFunctionPointer_CdeclMarshaller()
+ {
+ _ = INativeAction.FromFunctionPointer(Stubs.ToPointer(&Stubs.Stub_UnmanagedAction7));
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_8_int_FromAction()
+ {
+ _ = INativeAction.FromAction(Stubs.Stub_Action);
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_8_int_FromAction_DefaultMarshaller()
+ {
+ _ = INativeAction.FromAction(Stubs.Stub_Action);
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_8_int_FromAction_CdeclMarshaller()
+ {
+ _ = INativeAction.FromAction(Stubs.Stub_Action);
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_8_int_FromFunctionPointer()
+ {
+ _ = INativeAction.FromFunctionPointer(Stubs.ToPointer(&Stubs.Stub_UnmanagedAction8));
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_8_int_FromFunctionPointer_DefaultMarshaller()
+ {
+ _ = INativeAction.FromFunctionPointer(Stubs.ToPointer(&Stubs.Stub_UnmanagedAction8));
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_8_int_FromFunctionPointer_CdeclMarshaller()
+ {
+ _ = INativeAction.FromFunctionPointer(Stubs.ToPointer(&Stubs.Stub_UnmanagedAction8));
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_8_string_FromAction()
+ {
+ _ = INativeAction.FromAction(Stubs.Stub_Action);
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_8_string_FromAction_DefaultMarshaller()
+ {
+ _ = INativeAction.FromAction(Stubs.Stub_Action);
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_8_string_FromAction_CdeclMarshaller()
+ {
+ _ = INativeAction.FromAction(Stubs.Stub_Action);
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_8_string_FromFunctionPointer()
+ {
+ _ = INativeAction.FromFunctionPointer(Stubs.ToPointer(&Stubs.Stub_UnmanagedAction8));
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_8_string_FromFunctionPointer_DefaultMarshaller()
+ {
+ _ = INativeAction.FromFunctionPointer(Stubs.ToPointer(&Stubs.Stub_UnmanagedAction8));
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_8_string_FromFunctionPointer_CdeclMarshaller()
+ {
+ _ = INativeAction.FromFunctionPointer(Stubs.ToPointer(&Stubs.Stub_UnmanagedAction8));
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_9_int_FromAction()
+ {
+ _ = INativeAction.FromAction(Stubs.Stub_Action);
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_9_int_FromAction_DefaultMarshaller()
+ {
+ _ = INativeAction.FromAction(Stubs.Stub_Action);
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_9_int_FromAction_CdeclMarshaller()
+ {
+ _ = INativeAction.FromAction(Stubs.Stub_Action);
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_9_int_FromFunctionPointer()
+ {
+ _ = INativeAction.FromFunctionPointer(Stubs.ToPointer(&Stubs.Stub_UnmanagedAction9));
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_9_int_FromFunctionPointer_DefaultMarshaller()
+ {
+ _ = INativeAction.FromFunctionPointer(Stubs.ToPointer(&Stubs.Stub_UnmanagedAction9));
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_9_int_FromFunctionPointer_CdeclMarshaller()
+ {
+ _ = INativeAction.FromFunctionPointer(Stubs.ToPointer(&Stubs.Stub_UnmanagedAction9));
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_9_string_FromAction()
+ {
+ _ = INativeAction.FromAction(Stubs.Stub_Action);
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_9_string_FromAction_DefaultMarshaller()
+ {
+ _ = INativeAction.FromAction(Stubs.Stub_Action);
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_9_string_FromAction_CdeclMarshaller()
+ {
+ _ = INativeAction.FromAction(Stubs.Stub_Action);
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_9_string_FromFunctionPointer()
+ {
+ _ = INativeAction.FromFunctionPointer(Stubs.ToPointer(&Stubs.Stub_UnmanagedAction9));
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_9_string_FromFunctionPointer_DefaultMarshaller()
+ {
+ _ = INativeAction.FromFunctionPointer(Stubs.ToPointer(&Stubs.Stub_UnmanagedAction9));
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_9_string_FromFunctionPointer_CdeclMarshaller()
+ {
+ _ = INativeAction.FromFunctionPointer(Stubs.ToPointer(&Stubs.Stub_UnmanagedAction9));
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_10_int_FromAction()
+ {
+ _ = INativeAction.FromAction(Stubs.Stub_Action);
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_10_int_FromAction_DefaultMarshaller()
+ {
+ _ = INativeAction.FromAction(Stubs.Stub_Action);
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_10_int_FromAction_CdeclMarshaller()
+ {
+ _ = INativeAction.FromAction(Stubs.Stub_Action);
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_10_int_FromFunctionPointer()
+ {
+ _ = INativeAction.FromFunctionPointer(Stubs.ToPointer(&Stubs.Stub_UnmanagedAction10));
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_10_int_FromFunctionPointer_DefaultMarshaller()
+ {
+ _ = INativeAction.FromFunctionPointer(Stubs.ToPointer(&Stubs.Stub_UnmanagedAction10));
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_10_int_FromFunctionPointer_CdeclMarshaller()
+ {
+ _ = INativeAction.FromFunctionPointer(Stubs.ToPointer(&Stubs.Stub_UnmanagedAction10));
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_10_string_FromAction()
+ {
+ _ = INativeAction.FromAction(Stubs.Stub_Action);
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_10_string_FromAction_DefaultMarshaller()
+ {
+ _ = INativeAction.FromAction(Stubs.Stub_Action);
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_10_string_FromAction_CdeclMarshaller()
+ {
+ _ = INativeAction.FromAction(Stubs.Stub_Action);
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_10_string_FromFunctionPointer()
+ {
+ _ = INativeAction.FromFunctionPointer(Stubs.ToPointer(&Stubs.Stub_UnmanagedAction10));
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_10_string_FromFunctionPointer_DefaultMarshaller()
+ {
+ _ = INativeAction.FromFunctionPointer(Stubs.ToPointer(&Stubs.Stub_UnmanagedAction10));
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_10_string_FromFunctionPointer_CdeclMarshaller()
+ {
+ _ = INativeAction.FromFunctionPointer(Stubs.ToPointer(&Stubs.Stub_UnmanagedAction10));
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_11_int_FromAction()
+ {
+ _ = INativeAction.FromAction(Stubs.Stub_Action);
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_11_int_FromAction_DefaultMarshaller()
+ {
+ _ = INativeAction.FromAction(Stubs.Stub_Action);
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_11_int_FromAction_CdeclMarshaller()
+ {
+ _ = INativeAction.FromAction(Stubs.Stub_Action);
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_11_int_FromFunctionPointer()
+ {
+ _ = INativeAction.FromFunctionPointer(Stubs.ToPointer(&Stubs.Stub_UnmanagedAction11));
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_11_int_FromFunctionPointer_DefaultMarshaller()
+ {
+ _ = INativeAction.FromFunctionPointer(Stubs.ToPointer(&Stubs.Stub_UnmanagedAction11));
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_11_int_FromFunctionPointer_CdeclMarshaller()
+ {
+ _ = INativeAction.FromFunctionPointer(Stubs.ToPointer(&Stubs.Stub_UnmanagedAction11));
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_11_string_FromAction()
+ {
+ _ = INativeAction.FromAction(Stubs.Stub_Action);
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_11_string_FromAction_DefaultMarshaller()
+ {
+ _ = INativeAction.FromAction(Stubs.Stub_Action);
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_11_string_FromAction_CdeclMarshaller()
+ {
+ _ = INativeAction.FromAction(Stubs.Stub_Action);
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_11_string_FromFunctionPointer()
+ {
+ _ = INativeAction.FromFunctionPointer(Stubs.ToPointer(&Stubs.Stub_UnmanagedAction11));
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_11_string_FromFunctionPointer_DefaultMarshaller()
+ {
+ _ = INativeAction.FromFunctionPointer(Stubs.ToPointer(&Stubs.Stub_UnmanagedAction11));
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_11_string_FromFunctionPointer_CdeclMarshaller()
+ {
+ _ = INativeAction.FromFunctionPointer(Stubs.ToPointer(&Stubs.Stub_UnmanagedAction11));
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_12_int_FromAction()
+ {
+ _ = INativeAction.FromAction(Stubs.Stub_Action);
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_12_int_FromAction_DefaultMarshaller()
+ {
+ _ = INativeAction.FromAction(Stubs.Stub_Action);
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_12_int_FromAction_CdeclMarshaller()
+ {
+ _ = INativeAction.FromAction(Stubs.Stub_Action);
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_12_int_FromFunctionPointer()
+ {
+ _ = INativeAction.FromFunctionPointer(Stubs.ToPointer(&Stubs.Stub_UnmanagedAction12));
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_12_int_FromFunctionPointer_DefaultMarshaller()
+ {
+ _ = INativeAction.FromFunctionPointer(Stubs.ToPointer(&Stubs.Stub_UnmanagedAction12));
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_12_int_FromFunctionPointer_CdeclMarshaller()
+ {
+ _ = INativeAction.FromFunctionPointer(Stubs.ToPointer(&Stubs.Stub_UnmanagedAction12));
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_12_string_FromAction()
+ {
+ _ = INativeAction.FromAction(Stubs.Stub_Action);
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_12_string_FromAction_DefaultMarshaller()
+ {
+ _ = INativeAction.FromAction(Stubs.Stub_Action);
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_12_string_FromAction_CdeclMarshaller()
+ {
+ _ = INativeAction.FromAction(Stubs.Stub_Action);
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_12_string_FromFunctionPointer()
+ {
+ _ = INativeAction.FromFunctionPointer(Stubs.ToPointer(&Stubs.Stub_UnmanagedAction12));
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_12_string_FromFunctionPointer_DefaultMarshaller()
+ {
+ _ = INativeAction.FromFunctionPointer(Stubs.ToPointer(&Stubs.Stub_UnmanagedAction12));
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_12_string_FromFunctionPointer_CdeclMarshaller()
+ {
+ _ = INativeAction.FromFunctionPointer(Stubs.ToPointer(&Stubs.Stub_UnmanagedAction12));
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_13_int_FromAction()
+ {
+ _ = INativeAction.FromAction(Stubs.Stub_Action);
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_13_int_FromAction_DefaultMarshaller()
+ {
+ _ = INativeAction.FromAction(Stubs.Stub_Action);
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_13_int_FromAction_CdeclMarshaller()
+ {
+ _ = INativeAction.FromAction(Stubs.Stub_Action);
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_13_int_FromFunctionPointer()
+ {
+ _ = INativeAction.FromFunctionPointer(Stubs.ToPointer(&Stubs.Stub_UnmanagedAction13));
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_13_int_FromFunctionPointer_DefaultMarshaller()
+ {
+ _ = INativeAction.FromFunctionPointer(Stubs.ToPointer(&Stubs.Stub_UnmanagedAction13));
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_13_int_FromFunctionPointer_CdeclMarshaller()
+ {
+ _ = INativeAction.FromFunctionPointer(Stubs.ToPointer(&Stubs.Stub_UnmanagedAction13));
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_13_string_FromAction()
+ {
+ _ = INativeAction.FromAction(Stubs.Stub_Action);
+ }
+
+ [TestMethod]
+ public void Test_INativeAction_13_string_FromAction_DefaultMarshaller()
+ {
+ _ = INativeAction