[英]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.