gpt4 book ai didi

c# - 通用 - 编译器警告 CS0693 或错误

转载 作者:行者123 更新时间:2023-12-02 10:50:43 26 4
gpt4 key购买 nike

我有我的通用类和两个接受委托(delegate)作为参数的方法(无论是否通用)

public sealed class MyClass<TResult>
{
public MyClass ContinueWith(ThreadInfo.Parameterized arg)
{
}

public MyClass<TResult> ContinueWith<TResult>(ThreadInfo<TResult>.Parameterized arg)
{
}
}

在哪里:
public sealed class MyClass
{
}

我有 Compiler Warning (level3) CS0693但如果我删除 <TResult>从第二种方法:
public MyClass<TResult> ContinueWith(ThreadInfo<TResult>.Parameterized arg)

我不能再使用这种方法了,如果我尝试我得到一个编译器错误,因为编译器认为我想使用第一种方法。

我怎么解决这个问题?

最佳答案

听起来你真的想要:

public MyClass<TResult> ContinueWith(ThreadInfo<TResult>.Parameterized arg)

换句话说,使用 TResult在类型级别声明的参数。

如果你真的希望它是一个泛型方法(即引入一个新的类型参数)你必须给它一个不同的名字:
public MyClass<T2> ContinueWith<T2>(ThreadInfo<T2>.Parameterized arg)

(您可能希望在此处返回 MyClass<TResult> 或类似内容 - 我们并不真正知道您要达到的目标,因此很难提供详细的帮助。)

关于c# - 通用 - 编译器警告 CS0693 或错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13192295/

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