Let\'s take the interface IQueryable for example:
public interface IQueryable : IQueryable, IEnumerable;
Sin
The correct definition is:
public interface IQueryable : IEnumerable, IQueryable { }
The following was taken from Microsoft's Source RTMRel\ndp\fx\src\Core\System\Linq\IQueryable.cs\1305376\IQueryable.cs
public interface IQueryable : IEnumerable {
Expression Expression { get; }
Type ElementType { get; }
// the provider that created this query
IQueryProvider Provider { get; }
}
#if SILVERLIGHT
public interface IQueryable : IEnumerable, IQueryable {
#else
public interface IQueryable : IEnumerable, IQueryable {
#endif
}
public interface IQueryProvider{
IQueryable CreateQuery(Expression expression);
IQueryable CreateQuery(Expression expression);
object Execute(Expression expression);
TResult Execute(Expression expression);
}
public interface IOrderedQueryable : IQueryable {
}
#if SILVERLIGHT
public interface IOrderedQueryable : IQueryable, IOrderedQueryable {
#else
public interface IOrderedQueryable : IQueryable, IOrderedQueryable {
#endif
}