gpt4 book ai didi

c# - 不允许使用抽象字段。如何强制派生类实例化/初始化字段?

转载 作者:行者123 更新时间:2023-11-30 20:58:30 25 4
gpt4 key购买 nike

我有一个通用“设备”类型的抽象基类,并希望派生的特定设备类根据它们各自的差异来初始化列表。

当将派生类设置为事件时,它必须通过列表将参数也设置为事件。每个派生类都会将自己的参数插入到列表中。

相关代码如下:

基类:

        abstract public class Device : Common, IDisposable
{
abstract public Boolean bActive
{
get;
set;
}

abstract List<Parameters> ActiveParameters;
...
}

我不希望在基类中初始化列表,因为我不知道派生类中哪些参数将被插入到列表中。此代码产生一个错误,指出我不能有一个抽象字段,我明白这一点,但是有没有办法要求派生类从基类初始化一个字段?

最佳答案

This code produces an error saying that I cannot have an abstract field and I understand that but is there a way to require a derived class to initialize a field from the base class?

如果需要实现,它应该是您的 API 的一部分。要处理此问题,您可以将其设为 protected 属性。这将强制它由所有派生类实现。

protected abstract List<Parameters> ActiveParameters { get; }

关于c# - 不允许使用抽象字段。如何强制派生类实例化/初始化字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16069011/

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