如何为 IDictionary<int, string> 创建实例?
How to create instance for IDictionary<int, string>?
我有我的模特,
public IDictionary<int, string> QuestionSetList { get; set; }
我不能在我的控制器中使用这个 QuestionSetList,当它执行时,它抛出一个 NullReferenceException,说:对象引用未设置到对象的实例。
我有我的代码,
model.QuestionSetList.Add(QuestionSetNo,QuestionSetTopic);
请告诉我如何解决这个问题。
您不能实例化接口,因为接口不过是一个合同。它没有任何 实现 。
您需要实例化一个实现该接口的类型。在这种情况下,您可以使用实现 IDictionary<int, string>
.
的 Dictionary<int, string>
您必须实例化保存词典的变量。这就是你得到 NullReferenceException 的原因。
试试下面的方法。
private IDictionary<int, string> _questionSetList;
public IDictionary<int, string> QuestionSetList
{
get
{
if (_questionSetList == null)
{
_questionSetList = Dictionary<int, string>();
}
return _questionSetList;
}
set
{
_questionSetList = value;
}
}
我有我的模特,
public IDictionary<int, string> QuestionSetList { get; set; }
我不能在我的控制器中使用这个 QuestionSetList,当它执行时,它抛出一个 NullReferenceException,说:对象引用未设置到对象的实例。 我有我的代码,
model.QuestionSetList.Add(QuestionSetNo,QuestionSetTopic);
请告诉我如何解决这个问题。
您不能实例化接口,因为接口不过是一个合同。它没有任何 实现 。
您需要实例化一个实现该接口的类型。在这种情况下,您可以使用实现 IDictionary<int, string>
.
Dictionary<int, string>
您必须实例化保存词典的变量。这就是你得到 NullReferenceException 的原因。
试试下面的方法。
private IDictionary<int, string> _questionSetList;
public IDictionary<int, string> QuestionSetList
{
get
{
if (_questionSetList == null)
{
_questionSetList = Dictionary<int, string>();
}
return _questionSetList;
}
set
{
_questionSetList = value;
}
}