Why covariance does not work with generic method

前端 未结 1 1743
礼貌的吻别
礼貌的吻别 2020-12-09 08:26

Assume I have interface and class:

public interface ITree {}
public class Tree : ITree {}

As IEnumerable is covar

1条回答
  •  予麋鹿
    予麋鹿 (楼主)
    2020-12-09 09:00

    That is because variance only works with reference types (classes, interfaces & delegates). Add a class constraint and it compiles just fine:

    public static void Do() where T : class, ITree
    

    0 讨论(0)
提交回复
热议问题