gpt4 book ai didi

c# - 我可以使用泛型类型参数作为返回类型吗?

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

如果我有一个带有一个或多个通用参数的接口(interface)...

interface IFoo<T1, T2> {}

...是否可以在将其作为参数的方法的返回类型中引用一个或多个通用参数类型?

static IFoo.T2 Grab(IFoo<T1, T2> foo)
{
// TODO: return something.
}

最佳答案

这取决于您如何在类中定义 T1T2。你有两个机会:

  1. 使您的类包含静态方法泛型:

    class MyClass<T1, T2>
    {
    static T2 Grab(IFoo<T1, T2> foo) { ... }
    }
  2. 只使方法本身通用:

    static T2 Grab<T1, T2>(IFoo<T1, T2> foo) { ... }

在这两种情况下,您都不能简单地使用 IFoo 中的通用参数,因为实际上该接口(interface)的实例。即使您有这样的实例,它也与您的方法无关。

关于c# - 我可以使用泛型类型参数作为返回类型吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51950914/

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