关于c#的CS0695报错

abai liu 0 信誉分
2025-03-13T14:59:47.0766667+00:00

关于c#的CS0695报错

interface I<T>

{

}

class G<T1, T2> : I<T1>, I<T2> // CS0695

{

}

请问我确实需要在定义类变量时才能确定T1,T2类型怎么办呢?

C#
C#
一种面向对象的类型安全的编程语言,它起源于 C 语言系列,包括对面向组件的编程的支持。
210 个问题
0 个注释 无注释
{count} 票

1 个答案

排序依据: 非常有帮助
  1. Jiale Xue - MSFT 49,126 信誉分 Microsoft 外部员工
    2025-03-14T07:41:31.1466667+00:00

    您可以创建两个不同的接口,例如 I1<T> 和 I2<T>,然后分别实现它们:

    interface I1<T>
    {
    }
    
    interface I2<T>
    {
    }
    
    class G<T1, T2> : I1<T1>, I2<T2>
    {
    }
    

    这样 G<T1, T2> 就不会同时使用不同的泛型参数实现相同的接口。 如果 I<T> 无法拆分成两个不同的接口,您可能需要其他方案。


    如果答案是正确的,请点击“接受答案”并点赞。 如果您对此答案还有其他疑问,请点击“评论”。

    注意:如果您想接收相关电子邮件,请按照我们的文档中的步骤启用电子邮件通知 此线程的通知。

    0 个注释 无注释

你的答案

问题作者可以将答案标记为“接受的答案”,这有助于用户了解已解决作者问题的答案。