0

我看过类似的问题,尽管我的情况似乎有所不同。

对于此代码:

public interface MyInterface<out T> {
  bool TrySomething(out T val);
}

我在 C# 7.2 上收到此错误:

无效方差:类型参数“T”必须在“MyInterface.TrySomething(out T)”上始终有效。“T”是协变的。

这是一个错误,还是我错过了什么?我没有在T此处提供值,而是将其取出(即读取,因此在 . 中使用out方法参数修饰符TrySomething。那么,为什么它不编译?

4

0 回答 0