爲什麼編譯器不允許將int分配給對象?爲IQueryable分配IQueryable <int>時編譯出錯<object>
IQueryable<object> objects = null;
IQueryable<int> ints = null;
objects = ints;
爲什麼編譯器不允許將int分配給對象?爲IQueryable分配IQueryable <int>時編譯出錯<object>
IQueryable<object> objects = null;
IQueryable<int> ints = null;
objects = ints;
隱式類型轉換(協方差函數)不適用於所有泛型。 SomeGeneric <的ValueType >不從到SomeGeneric <參考>獲得,因此,即使有一個已經爲類型參數的隱式轉換(在此情況下,拳擊)它是無效的投放。
如果你在C#4.0,通用接口可以使用ISomeGeneric <定義爲協變出Ť>和提供的通用參數是衍生彼此,然後就可以鑄造。如果泛型參數不是派生的,則不可能投射。
您可以將其轉換爲'IQueryable'(OR)在分配前將其轉換爲'IQueryable
你的項目的目標框架是什麼?是否有.NET Framework 3.5或更高版本? – elgonzo
@elgonzo,我使用.Net框架4.5.1 – Albert