日期:2014-05-18  浏览次数:20806 次

internal delegate void MethodInvoker<T>(T parameter1); 帮忙看下吧 谢了
界面代码:
C# code

        internal void Cancel()
        {
            this.Invoke(new MethodInvoker(this.Close), null);
        }



类里面的代码:
C# code

        public void Cancel()
        {
            this._GUI.Invoke(new MethodInvoker<????>(this._GUI.Cancel),null);//这里面的类型怎么写?
            //看了一下说明:类型必须与参数的返回类型一样,它返回void 应该怎么写呢?
        }



声明:
C# code


internal delegate void MethodInvoker<T>(T parameter1);




------解决方案--------------------
你要做什么?
------解决方案--------------------
什么乱七八糟的呀。既然你都能够直接调用this._GUI.Cancel,为什么不直接调用,搞什么Invoke?

委托就这么让你爽么?完全没有理由使用时也要耍?
------解决方案--------------------
internal delegate void MethodInvoker<T>(T parameter1);
你把这个当构造方法使了?

这个委托的用法跟Action<T>是一样的
也就是实例化时,T是目标方法this._GUI.Cancel的参数类型,你直接用MethodInvoker()不就好了