【发布时间】:2014-02-21 15:32:14
【问题描述】:
为什么IObservable<T> 不是IEnumerable<T> 和IQueryable<T> 的实现,但我可以使用LINQ 查询? IObservable 是不是特殊类型?
我以前认为只有 Linq 查询 IEnumerable 或 IQueryable ,但事实并非如此。以下代码示例:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Rx_Test1
{
public static class IMyClassExtension
{
public static MyClass<TResult> Select<TSource, TResult>(this MyClass<TSource> source, Func<TSource, int, TResult> selector)
{
return null;
}
public static MyClass<TResult> Select<TSource, TResult>(this MyClass<TSource> source, Func<TSource, TResult> selector)
{
return null;
}
}
public class MyClass<T>
{
}
class Program
{
static void Main(string[] args)
{
var myclass = new MyClass<int>();
var q = from m in myclass
select m;
}
}
}
【问题讨论】:
-
实现
IObservable的对象也可以实现其他接口,如IQuerable。你在说哪个 conrete 对象?
标签: c# .net linq system.reactive