具有泛型构造函数的泛型类?

乔纳森·伍德

我有一个通用类。构造函数需要接受一个参数,该参数是同一类的另一个实例。问题在于另一个实例可以具有不同的泛型类型。

看起来C#允许我有一个具有自己的泛型类型的方法,但构造方法似乎不允许这样做。

public class MyClass<T>
{
    public MyClass<T2>(MyClass<T2> parent = null)
    {
    }

    // ... Additional stuff
}

上面的代码告诉我T2未定义。它不接受它作为方法类型。

一种方法是在类中添加第二个泛型类型。但这很尴尬,并且在许多情况下,参数将是null且没有类型。

有谁看到解决这个问题的简单方法?

恩科西

你是对的。不支持泛型构造函数。

您可以尝试以下方法:

创建一个较低级别的通用接口

public interface IMyClass {
    //...some common stuff
    IMyClass Parent { get; set; }
}

并将其用作类型之间的通用链接

public class MyClass<T> : IMyClass {
    public MyClass(IMyClass parent = null) {
        Parent = parent;
    }
    public IMyClass Parent { get; set; }    
    // ... Additional stuff
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

泛型类的泛型构造函数

来自分类Dev

具有新类型约束的泛型构造函数

来自分类Dev

具有泛型和`InternalsVisibleTo`的内部构造函数

来自分类Dev

从具有泛型参数的子类方法调用构造函数

来自分类Dev

在类构造函数中使用泛型

来自分类Dev

如何获得对具有指定类型的泛型类的构造函数的引用?

来自分类Dev

我如何创建具有与类相同的泛型作为参数的构造函数

来自分类Dev

如何将主构造函数添加到具有类型约束的泛型类?

来自分类Dev

Java:具有泛型方法的泛型类

来自分类Dev

使泛型类的函数仅接受具有相同泛型类型但受更多约束的参数

来自分类Dev

具有泛型的Scala类型类

来自分类Dev

具有接口类类型的泛型

来自分类Dev

创建具有泛型类型的函数

来自分类Dev

构造函数泛型问题

来自分类Dev

是否有可能在引入其他泛型类型的泛型类上使用构造函数?

来自分类Dev

构造函数作为参数:推断类的泛型为函数

来自分类Dev

通过泛型类获取带有私有构造函数的静态类的实例

来自分类Dev

Delphi泛型:无法将类和构造函数约束的泛型类型转换为接口

来自分类Dev

可以在引入其他泛型类型的泛型类上使用构造函数吗?

来自分类Dev

java中泛型类中的非泛型构造函数

来自分类Dev

实例化从泛型类派生的类,该类在其构造函数中有参数

来自分类Dev

使用泛型在抽象类中调用构造函数

来自分类Dev

继承需要构造函数的泛型类型的抽象类

来自分类Dev

将泛型传递到类构造函数列表

来自分类Dev

继承需要构造函数的泛型类型的抽象类

来自分类Dev

使用泛型在抽象类中调用构造函数

来自分类Dev

在泛型中使用必需的构造函数继承类

来自分类Dev

继承类中的泛型和构造函数

来自分类Dev

实例化泛型类抛出“不是构造函数”

Related 相关文章

  1. 1

    泛型类的泛型构造函数

  2. 2

    具有新类型约束的泛型构造函数

  3. 3

    具有泛型和`InternalsVisibleTo`的内部构造函数

  4. 4

    从具有泛型参数的子类方法调用构造函数

  5. 5

    在类构造函数中使用泛型

  6. 6

    如何获得对具有指定类型的泛型类的构造函数的引用?

  7. 7

    我如何创建具有与类相同的泛型作为参数的构造函数

  8. 8

    如何将主构造函数添加到具有类型约束的泛型类?

  9. 9

    Java:具有泛型方法的泛型类

  10. 10

    使泛型类的函数仅接受具有相同泛型类型但受更多约束的参数

  11. 11

    具有泛型的Scala类型类

  12. 12

    具有接口类类型的泛型

  13. 13

    创建具有泛型类型的函数

  14. 14

    构造函数泛型问题

  15. 15

    是否有可能在引入其他泛型类型的泛型类上使用构造函数?

  16. 16

    构造函数作为参数:推断类的泛型为函数

  17. 17

    通过泛型类获取带有私有构造函数的静态类的实例

  18. 18

    Delphi泛型:无法将类和构造函数约束的泛型类型转换为接口

  19. 19

    可以在引入其他泛型类型的泛型类上使用构造函数吗?

  20. 20

    java中泛型类中的非泛型构造函数

  21. 21

    实例化从泛型类派生的类,该类在其构造函数中有参数

  22. 22

    使用泛型在抽象类中调用构造函数

  23. 23

    继承需要构造函数的泛型类型的抽象类

  24. 24

    将泛型传递到类构造函数列表

  25. 25

    继承需要构造函数的泛型类型的抽象类

  26. 26

    使用泛型在抽象类中调用构造函数

  27. 27

    在泛型中使用必需的构造函数继承类

  28. 28

    继承类中的泛型和构造函数

  29. 29

    实例化泛型类抛出“不是构造函数”

热门标签

归档