我有一本这样的字典:
private Dictionary<string, List<SmartTextItemModel>> service_ListOfItems = new Dictionary<string, List<SmartTextItemModel>>();
service_ListOfItems["bingsearch"] = MyProgramKernel.Instance.SmartTextViewModel.SmartTextStateModel.BingItemResults;
service_ListOfItems["wikipedia"] = MyProgramKernel.Instance.SmartTextViewModel.SmartTextStateModel.WikipediaItemResults;
service_ListOfItems["youtube"] = MyProgramKernel.Instance.SmartTextViewModel.SmartTextStateModel.YoutubeItemResults;
(SmartTextItemModel 只是一个简单的类,用于包含标题、描述和 URL,它们都是字符串。有关上下文,请参阅我之前的问题。)
当然,%service%ItemResults 对象的类型是 List<SmartTextItemModel>,并且 List 在 SmartTextStateModel 文件中被初始化为 null。
我在其他文件中有代码修改每个MyProgramKernel.Instance.SmartTextViewModel.SmartTextStateModel.%service%ItemResults
列表,如下所示:
MyProgramKernel.Instance.SmartTextViewModel.SmartTextStateModel.%service%ItemResults = some new List of type SmartTextItemModel
当我尝试检查初始化字典的同一文件中的列表是否为空时,
if (service_ListOfItems[ searchService ] == null) { ... } // searchService is "bingsearch", "wikipedia", or "youtube"
我没有得到我期望的结果。if 语句中的语句始终运行。字典中的 List 值仍然为 null,即使它们被分配到不同的文件中。
我想要的行为是我的字典引用了MyProgramKernel.Instance.SmartTextViewModel.SmartTextStateModel
. 我怎样才能做到这一点?