interoptopus_csharp 0.16.3

The C# backend for Interoptopus.
Documentation
    [UnmanagedCallersOnly(EntryPoint = "{{ ffi_name }}")]
    internal static {{ rval_type }} {{ ffi_name }}({{ args }})
    {
        try
        {
{%- if is_void %}
            Plugin.{{ pascal_name }}({{ forward }}){{ rval_suffix }};
{%- elif result_wrap_type %}
            return {{ result_wrap_type }}.FromCall(() => Plugin.{{ pascal_name }}({{ forward }})){{ rval_suffix }};
{%- elif result_passthrough_type %}
            return {{ result_passthrough_type }}.FromCallResult(() => Plugin.{{ pascal_name }}({{ forward }})){{ rval_suffix }};
{%- else %}
            return Plugin.{{ pascal_name }}({{ forward }}){{ rval_suffix }};
{%- endif %}
        }
        catch (Exception e)
        {
            Trampoline.UncaughtException(e.ToString());
{%- if not is_void %}
            return default;
{%- endif %}
        }
    }