gpt4 book ai didi

IEnumerable 的 C# 方差问题

转载 作者:行者123 更新时间:2023-11-30 14:10:26 24 4
gpt4 key购买 nike

<分区>

所以,我遇到了与下面类似的代码的问题:

public static String MyFunc<T>(this IEnumerable<T> list) where T : struct
{
... some code ...
return myString;
}

public static String MyFunc<T>(this T o) where T : struct
{
... some code ...
return myString;
}

问题是,当尝试在列表上调用 MyFunc 时,它使用第二个函数而不是接受 IEnumerable 的函数。我知道这与方差有关,但我不确定如何强制它使用第一个函数而不是第二个函数。我用来调用第一个的代码是:

List<int> x = new List<int>();
String s = x.MyFunc();

上面的代码立即转到第二个函数,我需要它来使用第一个函数。如何强制执行所需的行为?顺便说一下,我使用的是 .NET 4.0

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