我想创建一个与另一个类具有相同字段名称的类,但具有不同的字段类型。 例如:
public class Core
{
public float Temperature { get; private set; }
public float Load { get; private set; }
public float Clock { get; private set; }
...
我获得了上述课程,我想要另一个具有所有字段但为布尔型的课程。
public class CoreThreshold
{
public bool Temperature { get; private set; }
public bool Load { get; private set; }
public bool Clock { get; private set; }
...
我的操作方式像上面一样硬编码,想知道是否有更好的方法。
我想使其成为OOP而不是使用获取字符串并返回值的方法。 同样,仅使布尔值成为1或0(如布尔值)也不是一种选择(实际类型不是float)。
是可以做到的,还是唯一的选择是对两个类中的每个细节进行硬编码?
答案 0 :(得分:1)
我不知道这是否会如您所愿,但是我将在黑暗中进行射击。
您可能有一个支持Generic
的基类。例如:
public abstract class BaseCore<T>
{
public T Temperature { get; protected set; }
public T Load { get; protected set; }
public T Clock { get; protected set; }
}
然后基于此派生一些类:
public class Core : BaseCore<float>
{
}
public class CoreThreshold : BaseCore<bool>
{
}
因此,您要做的就是向BaseCore
添加另一个属性,所有派生类都会自动获取它。您不必重复代码。