【发布时间】:2016-04-19 23:55:35
【问题描述】:
字典“_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;
}
}
我无法显示所有代码,因为这是一个任务,但是如果有人可以帮助我,我会很感激。
【问题讨论】:
-
非常简单的错误,您发送的是带有
_infoCardFactories[category]的string键,但无论category是什么,在字典中都不作为键存在。 -
您的字典中没有给定
category的信息卡工厂。为什么会这样,以及这是否是我们想要的状态超出了我们的回答能力:)
标签: c#