設定
public interface ITable { }
public class Company : ITable {
public int Id { get; set; }
public string Name { get; set; }
}
public class PaginationGridModel {
public PaginationGridModel(IList<ITable> rows) {
//cool stuff goes here
}
}
public GridModel GenerateModel<T>(IQueryable<T> Table) where T : ITable {
return new GridModel((IList<ITable>)Table);
}
//Actual Call
return GenerateModel<Company>(this.dataContext.Companies);
例外が生成されました
Unable to cast object of type 'System.Collections.Generic.List`1[Company]' to type 'System.Collections.Generic.IList`1[ITable]'.
質問
Company
実装しているので、 myをITable
に変換できるはずですが、実際には であるため、機能したくありません。ただし、関数定義では. ここで何が間違っていますか?Generics を使用していない場合、セットアップは正常に機能します。ただし、同じコードを何度も書いていたので、汎用セットアップが必要でした-これは悪いことです:)List<Company>
IList<ITable>
T
T
ITable
どんな助けでも大歓迎です。あなたが私にそれができないと言ったとしても。