簡體   English   中英

給定的鍵在字典錯誤中不存在

[英]the given key was not present in the dictionary error

字典“ _infoCardFactories”的定義如下:

 Dictionary<string, IInfoCardFactory> _infoCardFactories;

錯誤“給定的鍵在字典中不存在”源自此行代碼:

IInfoCard card = _infoCardFactories[category].CreateNewInfoCard(category); 

這是字典的接口以及實現它的類。

public interface IInfoCardFactory
    {
        IInfoCard CreateNewInfoCard(string category);
        IInfoCard CreateInfoCard(string initialDetails);
        string[] CategoriesSupported { get; }
        string GetDescription(string category);
    }

public class creditcard : IInfoCardFactory,IInfoCard
    { 
        public IInfoCard CreateNewInfoCard(string category)
        {
           creditcard card = new creditcard();
           return card;
        }

} 

我不能顯示所有代碼,由於這是一個事實,但是如果有人可以幫助我,我將非常感激。

您需要基於此接口實現一個類,然后定義字典以使用該實現。 需要有一個實例。

代替IInfoCard card = _infoCardFactories[category].CreateNewInfoCard(category);

用這個:

IInfoCard card;
IInfoCardFactory factory;
if (_infoCardFactories.TryGetValue(category, out factory))
     card = factory.CreateNewInfoCard(category);
else
{
    // when category is not in your dictionary
}

暫無
暫無

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

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