gpt4 book ai didi

c# - 为什么下面的代码不能编译?

转载 作者:太空宇宙 更新时间:2023-11-03 17:25:51 24 4
gpt4 key购买 nike

我不明白为什么下面的代码不能编译:

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

namespace ConsoleApplication1 {
public interface ITestCondition<T> {
}

public class TestConditionBase<T>: ITestCondition<T> {
}

public class TestCondition<T>: TestConditionBase<T> {
}

public static class TestConditionExtension {
public static V Foo<V, T>(this V condition) where V: ITestCondition<T> {
return condition;
}
}

class Program {
static void Main(string[] args) {
new TestCondition<int>().Foo();
}
}
}

它说找不到“foo”。但它在没有通用类型的情况下也能完美运行。

最佳答案

编译器无法推断类型。明确指定它们:

new TestCondition<int>().Foo<TestCondition<int>, int>();

关于c# - 为什么下面的代码不能编译?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15552107/

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