3

我得到了以下类层次结构:

MssqlDataSource<T>: DataSource<T>: IDataSource<T>:IQueryable<T>

MssqlDataSource课堂上我得到了财产:

private Table<T> Table { get { return (Table<T>)(IQueryable<T>)this; } }

并且双重转换(thistoIQueryable然后 to Table)不能简化为(Table<T>)this或仅仅this因为我收到编译错误。


private Table<T> Table { get { return (Table<T>)this; } }

产生: 投射错误


那么如何解决呢?如何只使用一个转换(或者最好不使用)来避免编译错误?为什么会出现?

4

1 回答 1

3

据此:

MssqlDataSource<T>:DataSource<T>:IDataSource<T>:IQueryable<T>

MssqlDataSource<T>不继承自Table<T>.

为什么要进行这种铸造?

于 2012-10-08T08:28:40.763 回答