![](/img/trans.png)
[英]How to set properties of same name but different types in inherited classes
[英]Multiple classes with same properties but different types
我想創建一個 class 與另一個 class 具有相同的字段名稱,但具有不同的字段類型。 例如:
public class Core
{
public float Temperature { get; private set; }
public float Load { get; private set; }
public float Clock { get; private set; }
...
我得到了上面的 class 並且我想要另一個 class 具有所有字段但在 boolean 類型。
public class CoreThreshold
{
public bool Temperature { get; private set; }
public bool Load { get; private set; }
public bool Clock { get; private set; }
...
我這樣做的方式是像上面那樣硬編碼,想知道是否有更好的方法。
我想讓它 OOP 可訪問,而不是使用獲取字符串並返回值的方法。 也不能像 boolean 那樣將浮點值設為 1 或 0(實際類型不是浮點數)。
是否可以完成,或者唯一的選擇是對兩個類的每個細節進行硬編碼?
我不知道這是否會如你所願,但我會在黑暗中試一試。
您可以擁有一個支持Generic
的基礎 class 。 例如:
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
添加另一個屬性,所有派生類都會自動獲取它。 您不必復制代碼。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.