簡體   English   中英

字典/列表中的C#存儲類類型

[英]C# Store Class Type in a Dictionary/List

有沒有辦法在我的字典/列表中存儲類類型而不是類的實例?

我想做這樣的事情:

public class FoodNeed : BaseNeeds
{
    public Dictionary<Type, float> consumptionlist = new Dictionary<Type, float>();

    public FoodNeed()
    {
        consumptionlist.Add (Meat, 0.3f);
    }
}

Meat是類,而不是在dictionaray上添加“ new Meat() ”,我只想存儲類型(因為我認為不必為該類型創建完整的實例),這可能嗎? 還是我必須將例如“ Meat”存儲為字符串並稍后解析。 還是像這樣的大禁忌,這必須以不同的方式進行。

謝謝您的幫助

我相信您正在尋找typeof來獲取肉的類型:

public class FoodNeed : BaseNeeds
{
    public Dictionary<Type, float> consumptionlist = new Dictionary<Type, float>();

    public FoodNeed()
    {
        consumptionlist.Add(typeof(Meat), 0.3f);
    }
}

請使用typeof

public class FoodNeed : BaseNeeds
{
    public Dictionary<Type, float> consumptionlist = new Dictionary<Type, float>();

    public FoodNeed()
    {
        consumptionlist.Add (typeof(Meat), 0.3f);
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM