public static int DelegatesTest() { Func <Math, bool> fn_func = (Math m) => m == null; Func <Math, bool> fn_func_null = null; Func <Math, bool>[] fn_func_arr = new Func <Math, bool>[] { (Math m) => m == null }; Math.IsMathNull fn_del = Math.IsMathNullDelegateTarget; var fn_del_arr = new Math.IsMathNull[] { Math.IsMathNullDelegateTarget }; var m_obj = new Math(); Math.IsMathNull fn_del_null = null; bool res = fn_func(m_obj) && fn_del(m_obj) && fn_del_arr[0] (m_obj) && fn_del_null == null && fn_func_null == null && fn_func_arr[0] != null; // Unused locals Func <Math, bool> fn_func_unused = (Math m) => m == null; Func <Math, bool> fn_func_null_unused = null; Func <Math, bool>[] fn_func_arr_unused = new Func <Math, bool>[] { (Math m) => m == null }; Math.IsMathNull fn_del_unused = Math.IsMathNullDelegateTarget; Math.IsMathNull fn_del_null_unused = null; var fn_del_arr_unused = new Math.IsMathNull[] { Math.IsMathNullDelegateTarget }; Console.WriteLine("Just a test message, ignore"); return(res ? 0 : 1); }
[System.Runtime.InteropServices.JavaScript.JSExport] public static int DelegatesTest() { Func <Math, bool> fn_func = (Math m) => m == null; Func <Math, bool> fn_func_null = null; Func <Math, bool>[] fn_func_arr = new Func <Math, bool>[] { (Math m) => m == null }; Math.IsMathNull fn_del = Math.IsMathNullDelegateTarget; var fn_del_arr = new Math.IsMathNull[] { Math.IsMathNullDelegateTarget }; var m_obj = new Math(); Math.IsMathNull fn_del_null = null; bool res = fn_func(m_obj) && fn_del(m_obj) && fn_del_arr[0](m_obj) && fn_del_null == null && fn_func_null == null && fn_func_arr[0] != null; // Unused locals Func <Math, bool> fn_func_unused = (Math m) => m == null; Func <Math, bool> fn_func_null_unused = null; Func <Math, bool>[] fn_func_arr_unused = new Func <Math, bool>[] { (Math m) => m == null }; Math.IsMathNull fn_del_unused = Math.IsMathNullDelegateTarget; Math.IsMathNull fn_del_null_unused = null; var fn_del_arr_unused = new Math.IsMathNull[] { Math.IsMathNullDelegateTarget }; OuterMethod(); Console.WriteLine("Just a test message, ignore"); return(res ? 0 : 1); }