Resharper认为类型转换是多余的,但是没有类型转换代码就不能工作
本文关键字:类型转换 代码 工作 就不能 多余 Resharper | 更新日期: 2023-09-27 18:18:49
通过foreach迭代JsonData获取IDictionary
枚举数,而不是IList
枚举数。
foreach (var jsonEntry in jsonData)
这会导致我的代码抛出一个错误。
InvalidOperationException: Instance of JsonData is not a dictionary
LitJson.JsonData.EnsureDictionary ()
LitJson.JsonData.System.Collections.Specialized.IOrderedDictionary.GetEnumerator ()
LitJson.JsonData.System.Collections.IDictionary.GetEnumerator ()
将对象强制转换为IList
会导致Resharper发出警告"类型强制转换是多余的。"
foreach (var jsonEntry in jsonData as IList)
为什么Resharper认为强制转换是多余的?
为什么Resharper认为强制转换是多余的?
如果你这样想:
IList是一个ICollection, dictionary也是一个ICollection,因为它们都实现了'ICollection', Resharper的警告应该变得清晰了。