首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

一种奇怪的写法,求解答,该如何处理

2012-12-31 
一种奇怪的写法,求解答private void m_OnOccurErr(int errCode){this.SafeInvoke(() {switch (errCode){

一种奇怪的写法,求解答
private void m_OnOccurErr(int errCode)
        {
            this.SafeInvoke(() =>
            {
                switch (errCode)
                {
                    case 1:
                        textBox4.Text = "等待超时错误!";
                        break;
                    case 2:
                        textBox4.Text = "获取状态错误!";
                        break;
                    default:
                        break;
                }

            });
        }




public delegate void InvokeHandler();

        public static void SafeInvoke(this Control control, InvokeHandler handler)
        {
            if (control.InvokeRequired)
            {
                control.Invoke(handler);
            }
            else
            {
                handler();
            }
        }
[解决办法]
那里奇怪啊,挺正常滴

public delegate void InvokeHandler();


  public static void SafeInvoke(this Control control, InvokeHandler handler)//此处是扩展方法,对Control对象扩展一个safeInvoke方法,InvokeHandler则是委托
  {
  if (control.InvokeRequired)
  {
  control.Invoke(handler);
  }
  else
  {
  handler();
  }
  }


private void m_OnOccurErr(int errCode)
  {
//此处调用那个扩展方法,()=> {xxx}则是匿名方法
  this.SafeInvoke(() =>
  {
  switch (errCode)


  {
  case 1:
  textBox4.Text = "等待超时错误!";
  break;
  case 2:
  textBox4.Text = "获取状态错误!";
  break;
  default:
  break;
  }

  });
  }



如果你看不懂这些东西,那么请找本有关net新特性的书看看, 扩展方法,匿名方法都是net的新特性

热点排行