.Net--協變、逆變

1、說明:協變和逆變只能出現在接口和委託中。

        協變通過out來修飾,逆變通過in來修飾

        對引用類型有效,對值類型無效

2、需要解決的問題:

    image.png

3、解決方案:

     IEnumerable<Parent> _parents = new List<Child>();

    查看 IEnumerable的定義發現

image.png

在泛型參數的前面添加了out參數。

4、補充:

    out協變:被修飾的參數只能出現在返回值的位置。

    in逆變:被修飾的參數只能出現在參數的位置。

5、逆變的事例:

    image.png

6、自己寫一個逆變和協變的事例:

    

    image.png


    

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章