generic-variance

    2熱度

    2回答

    問題: class StatesChain : IState, IHasStateList { private TasksChain tasks = new TasksChain(); ... public IList<IState> States { get { return _taskChain.Tasks; } } ILis

    0熱度

    1回答

    我很難在C#中遇到問題。 在我正在研究的項目中,有一些存儲信息的類consumable,有consumer類使用這些消耗類。 我複製了一個更簡單的方法了這樣的事: using System; using System.Collections.Generic; interface IBase { int x {get;} } class BaseClass : IBase

    5熱度

    2回答

    我試圖寫的擴展方法,將轉換IDictionary<K, S<V>>保持任何類型的收集/序列(S<V>)至ILookup<K, V>這是更適當的數據結構這些情況。這意味着,我想我的分機在不同S類型和接口工作: IDictionary<K, IEnumerable<V>> IDictionary<K, ICollection<V>> IDictionary<K, List<V>> 等理想情況下,我不想

    6熱度

    2回答

    我讀了一些關於泛型方差的內容,但我還沒有完全理解它,但是我想知道它是否會產生類似以下內容的內容? class A<T> { } class B { } class C : B { } class My1 { public My1(A<B> lessDerivedTemplateParameter) { } } class My2 : My1 {

    1熱度

    1回答

    我有接受類型的參數IEnumerable(Of IEnumerable(Of MyType)) 如果我以下的方法: Dim list1 as new List(Of MyType) From { obj1, obj2 } Dim list2 as new List(Of MyType) From { obj3, obj4 } MyMethod({ list1, list2 }) 它的工作

    6熱度

    1回答

    在coursera函數式編程課程中,我遇到了一個微妙的概念。 如果A2 <:A1和B1 <:B2,然後(A1 => B1)<:(A2 => B2) 正當性 時我們將一個參數傳遞給A2,並且由於子類型關係,我們可以將相同的參數傳遞給A1。 然後應用功能A1 => B1 然後該函數給出B1和因爲亞型如果我們繪製該維恩圖,其有資格作爲B2 的, 圖1 圖2 這是正確的圖嗎? 如何用維恩圖解釋結果? 參考

    1熱度

    1回答

    我做了一些周圍挖成的委託方閱讀SO以下問題後:Delegate.CreateDelegate() and generics: Error binding to target method 我發現從巴里·凱利代碼一個非常不錯位在 https://www.blogger.com/comment.g?blogID=8184237816669520763&postID=210970855323016643

    16熱度

    3回答

    一般差異在C#4.0已經以這樣一種方式,它可以編寫沒有例外以下(這是C#3.0中會發生什麼)來實現: List<int> intList = new List<int>(); List<object> objectList = intList; [例非功能性:參見喬恩斯基特的答案] 我最近參加了一個會議,其中喬恩斯基特給通用差異的很好的概述,但我不知道我完全得到它 - 我理解的意義的in和o

    1熱度

    1回答

    我有一個泛型類,所有我的DAO類派生自下面定義的類。我也有我的所有實體的基類,但這不是通用的。 方法GetIdOrSave將會是一個不同於我定義SabaAbstractDAO的類型,因爲我試圖讓主鍵實現外鍵關係,所以這個函數不管是獲取主鍵還是保存實體,然後獲取主鍵。 最後的代碼片段有一個解決方案,它將如何工作,如果我擺脫了泛型部分,所以我認爲這可以通過使用差異來解決,但我無法弄清楚如何編寫一個接口