gpt4 book ai didi

c# - 为什么我会收到以下错误?无效的方差修饰符。只有接口(interface)和委托(delegate)类型参数可以指定为变体

转载 作者:行者123 更新时间:2023-12-03 15:30:28 24 4
gpt4 key购买 nike

 using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Variance

{
class A { }

class B : A { }

class C<out T> { }

class Program
{
static void Main(string[] args)
{
var v = new C<B>();

CA(v);
}

static void CA(C<A> v) { }
}
}

最佳答案

这是违规行:

class C<out T> 

正如错误消息告诉您的那样,您不能将泛型变化应用于类,只能应用于接口(interface)和委托(delegate)。这没关系:
interface C<out T>

以上不是。

详情见 Creating Variant Generic Interfaces

关于c# - 为什么我会收到以下错误?无效的方差修饰符。只有接口(interface)和委托(delegate)类型参数可以指定为变体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2042678/

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