1 private void AddCamera(VideoSourceInfo vInfo) 2 { 3 Action action = new Action(() => 4 { 5 TreeViewItem treeViewItem = new TreeViewItem(); 6 Style myTreeViewItemStyle = this.FindResource("TreeViewItemStyle2") as Style; 7 if (myTreeViewItemStyle == null) 8 { 9 return; 10 } 11 treeViewItem.FontSize = 14; 12 treeViewItem.Foreground = new SolidColorBrush(Color.FromRgb(56, 153, 250)); 13 treeViewItem.Style = myTreeViewItemStyle; 14 15 treeViewItem.Header = vInfo.Name; 16 17 treeViewItem.Tag = vInfo; 18 tvCameraList.Items.Add(treeViewItem); 19 }); 20 this.Dispatcher.BeginInvoke(action); 21 }
我想知道为什么要用Action委托来做这事?直接在方法体中也可以做吧?难道是异步提升效率?求大神解释一下,谢谢!
他这样做就是生成一个匿名方法,直接赋值给 this.Dispatcher.BeginInvoke了。
你自己写一个方法,还是要丢在这里面 this.Dispatcher.BeginInvoke
我主要是想知道这样会不会有性能上的提高呢?
@钱恩基: 他仅仅比你少声明一个方法。
@Me_Code: 恩恩 谢了
怎么实现都行,估计是那个程序员喜欢这样写
不过这样写可以使这个类少一个方法
也是哈 多谢了