gpt4 book ai didi

c# - 协变和逆变中的 IsAssignableFrom

转载 作者:太空狗 更新时间:2023-10-29 22:53:15 29 4
gpt4 key购买 nike

我如何检测类型 x 是否可从类型 y 分配,不仅通过继承层次结构而且通过协变和逆变?

最佳答案

IsAssignableFrom 会检查协变和逆变,您不需要任何其他东西:

// Covariance
typeof(IEnumerable<object>).IsAssignableFrom(typeof(IEnumerable<string>)).Dump(); // true
typeof(IEnumerable<string>).IsAssignableFrom(typeof(IEnumerable<object>)).Dump(); // false

// Contravariance
typeof(Action<string>).IsAssignableFrom(typeof(Action<object>)).Dump(); // true
typeof(Action<object>).IsAssignableFrom(typeof(Action<string>)).Dump(); // false

关于c# - 协变和逆变中的 IsAssignableFrom,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11461917/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com