为什么没有像ParameterizedThreadStart<T>这样的类?

5

ParameterizedThreadStart类始终以对象作为参数。我猜这是在.Net 1.0/1.1中引入的。

但是,自从引入泛型之后,我期望会出现像ParameterizedThreadStart<T>这样的类,但是它还没有出现?

是被忽略了吗?还是有其他原因?


4
或许是因为当你有匿名函数时,你并不真正需要它。 - svick
@sVick:我倾向于认同,匿名函数的可用性减少了对ParameterizedThreadStart<T>的需求。然而,如果没有这个类,使用ParameterizedThreadStart会感觉不一致。 - IAbstract
1个回答

7
简单的解决方法是使用lambda表达式/匿名函数来捕获局部变量,然后使用未带参数的ThreadStart。
ThreadStart start = () => func(param1, param2)

可能有一些解决方法,这样我们甚至不需要ParameterizedThreadStart。 - NileshChauhan
1
在我看来,ParameterizedThreadStart 的主要用途是:1)使用旧版 C# 的项目;2)使用不支持变量捕获的语言的项目。在现代 C# 中,我根本不会使用它。 - CodesInChaos

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接