小编see*_*dge的帖子

将一个匿名委托传递给一个线程......为什么这个工作?

在我的程序中,我们分割了大量需要在四个线程中查看的数据.

Thread one = new Thread(delegate() { NewMethod(recordsSplitIntoQuarters[0], param2, param3, param4, param5); });
Thread two = new Thread(delegate() { NewMethod(recordsSplitIntoQuarters[1], param2, param3, param4, param5); });
Thread three = new Thread(delegate() { NewMethod(recordsSplitIntoQuarters[2], param2, param3, param4, param5); });
Thread four= new Thread(delegate() { NewMethod(recordsSplitIntoQuarters[3], param2, param3, param4, param5); });
Run Code Online (Sandbox Code Playgroud)

我们的编码标准要求我们符合StyleCop标准,StyleCop要求如下:

SA1410:从匿名方法中删除括号,因为委托的参数列表为空.

这样做会给我这个编译错误:

以下方法或属性之间的调用不明确:'System.Threading.Thread.Thread(System.Threading.ParameterizedThreadStart)'和'System.Threading.Thread.Thread(System.Threading.ThreadStart)'

我查看了ThreadStart和ParameterizedThreadStart对象,我无法弄清楚如何获得我需要完成的任何这些对象.

我的问题:匿名代表如何工作?他们编译到什么?最后,我将不得不在没有匿名代表的情况下工作,但我不知道从哪里开始.

谢谢您的帮助,

导引头

.net c# multithreading stylecop anonymous-delegates

6
推荐指数
2
解决办法
7703
查看次数

SL4文本框上的IsTabStop = False

我在文本框中将IsTabStop设置为false,我知道这会使控件无法获得焦点,但根据Silverlight论坛,它应该仍然能够接收鼠标事件.我在我的tbxTotal_MouseLeftButtonUp方法中连接了MouseLeftButtonUp事件和断点,并且它在调试期间永远不会被命中.SL论坛中的线程现在已经很老了,所以也许这在某个地方更新了.我想要一个无法选项卡的文本框,但仍然可以编辑.真的应该这么难吗?

silverlight tabstop silverlight-4.0

6
推荐指数
1
解决办法
1064
查看次数