gpt4 book ai didi

c# - 创建接口(interface)子类的实例

转载 作者:可可西里 更新时间:2023-11-01 14:35:22 27 4
gpt4 key购买 nike

我有接口(interface)和派生它的 3 个类,但是如何为每种类型使用 1 个变量?

  public interface IBuilder<T> where T: System.IConvertible{}

public class SimpleBuilder : IBuilder<SimpleCollagePatterns>{}

public class CreativeBuilder : IBuilder<CreativeCollagePatterns>{}

public class ShapeBuilder : IBuilder<ShapeCollagePatterns>{}

必要时我需要创建类的实例

我有 IBuilder<IConvertible> currentBuilder变量,但我无法创建任何 Builder 的实例

this.currentBuilder = new SimpleBuilder(); //Doesn`t work

仅当我更改 IBuilder<IConvertible> currentBuilder 时至 IBuilder<SimpleCollagePatterns> currentBuilder或其他类型我可以创建这种类型的生成器,但我需要有能力创建任何类型

最佳答案

我遇到了同样的情况。但最终发现没有解决办法。无法在运行时创建任何类型的对象。如您所说,将 IBuilder currentBuilder 更改为 IBuilder currentBuilder 是为 SimpleBuilder 类型创建对象的唯一方法。其他情况也类似。

关于c# - 创建接口(interface)子类的实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40760279/

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