【问题标题】:Adding extension method to ParallelQuery将扩展方法添加到 ParallelQuery
【发布时间】:2014-02-01 13:55:52
【问题描述】:

我构建了一个并发列表类,它实现了接口IEnumerator<T>IEnumerable<T>

我的目标是能够写作:

IEnumrable<string> MyConcurrentList1 = new ConcurrentList<string>();

MyConcurrentList1.AsParallel().MyExtantionMethod_ADD("aaaa");

我希望能够从ParallelQuery的扩展方法中调用我在ConcurrentList&lt;T&gt;中写的方法!

【问题讨论】:

  • 你有什么问题?

标签: c# parallel-extensions


【解决方案1】:

我想你的意思是问:如何在AsParallel()后面添加扩展方法。

很简单:该方法返回一个ParallelQuery。所以使用这样的东西:

public static class ExtensionMethods
{
    public static void MyExtantionMethod_ADD(this ParallelQuery query, string parameter1)
    {
        ...
    }
}

【讨论】:

  • 不!如果不将我们正在使用的列表作为参数发送到此扩展方法,则无法使用它
  • 您指的是哪个列表?如果您的意思是MyConcurrentList,则不应将扩展方法添加到AsParallel,而应添加到列表本身。
  • 我希望能够从 ParallelQuery 的扩展方法中调用我在 ConcurrentList 中编写的方法!从你的经验来看,这可能吗?
  • 您为什么要这样做? AsParallel 和扩展方法有什么关系。如果确实需要,可以将列表添加为第二个参数,但我想知道为什么...
  • 我对你所说的和你所写的东西都很有信心。我希望能够使用列表中的 ParallelEnumerable 方法。从一开始就没有必要写它们。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-07
  • 1970-01-01
  • 1970-01-01
  • 2016-04-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多