public static void Ref()
    {
        if (_nativeLibraryPtr == IntPtr.Zero) {
            _nativeLibraryPtr=NativeDLL.LoadLibrary(DllName);
            if(_nativeLibraryPtr==IntPtr.Zero)
            {
                Debug.LogError("Failed to load mrayGStreamer Library:"+DllName);
            }
        }
        if (!IsActive) {

            MyDelegate callback=new MyDelegate(CallBackFunction);
            IntPtr intptr_del=Marshal.GetFunctionPointerForDelegate(callback);
            mray_SetDebugFunction(intptr_del);

            MyDelegate2 callback2=new MyDelegate2(GetEngineTime);
            intptr_del=Marshal.GetFunctionPointerForDelegate(callback2);
            mray_SetGetEngineTime(intptr_del);
        }
        mray_gstreamer_initialize();
    }
Esempio n. 2
0
        static void Main(string[] args)
        {
            MyDelegate2 method1 = MyMethods.Method1;
            MyDelegate2 method2 = MyMethods.Method2;
            MyDelegate2 method3 = MyMethods.Method3;
            MyDelegate2[] delegates = new MyDelegate2[3];
            delegates[0] = method1;
            delegates[1] = method2;
            delegates[2] = method3;
            MyDelegate del = delegate(MyDelegate2[] dels)
            {
                int sum = 0;
                for (int i = 0; i < dels.Length; i++)
                {
                    sum += dels[i]();
                    MyDelegate2 d = dels[i];
                }
                return sum / delegates.Length;
            };

            int result = del(delegates);
            Console.WriteLine("Arifmetic average:" + result);
            Console.ReadKey();
        }
 public static int Main_old(String[] args)
 {
     Delegate_TestClass_delegate80 mc = new Delegate_TestClass_delegate80();
     try
     {
         Delegate_TestClass_delegate80_Del md1 = new Delegate_TestClass_delegate80_Del(mc.DelegatedMethod1);
         md1 += new Delegate_TestClass_delegate80_Del(mc.DelegatedMethod2);
         MyDelegate2 md2 = new MyDelegate2(mc.DelegatedMethod4);
         md2 += new MyDelegate2(mc.DelegatedMethod3);
         Delegate_TestClass_delegate80_Del md3 = new Delegate_TestClass_delegate80_Del(mc.DelegatedMethod4) + new Delegate_TestClass_delegate80_Del(mc.DelegatedMethod3);
         Delegate_TestClass_delegate80_Del md4 = new Delegate_TestClass_delegate80_Del(md1) + md3;
         int i = 5;
         md4(out i, .25f);
         if (8 == i)
             retval ^= 0x10;
     }
     catch (System.Exception)
     {
         retval ^= 0x20;
     }
     if (0 == retval) Log.Comment("PASS");
     else {Log.Comment("FAIL, 0x{0:X}");
     Log.Comment(retval.ToString());
 }
     return retval;
 }