我试图检查以下typeof运算(ICollection的<>).GetTypeInfo()。IsAssignableFrom(typeof运算(IList的<>))
typeof(ICollection<>).GetTypeInfo().IsAssignableFrom(targetProperty.PropertyType.GetTypeInfo())
其中通入IsAssignableFrom
的参数为IList<Something>
。但它正在返回假。
以下内容也会返回false。
typeof(ICollection<>).GetTypeInfo().IsAssignableFrom(targetProperty.PropertyType.GetTypeInfo().GetGenericTypeDefinition())
甚至以下是返回false。
typeof(ICollection<>).GetTypeInfo().IsAssignableFrom(typeof(IList<>))
不应该后者肯定会返回true?
targetProperty.PropertyType
可以是任何类型时,我怎样才能得到正确的结果?它可以是List<T>
,ObservableCollection<T>
,ReadOnlyCollection<T>
,自定义收集类型等。
我的第一个问题在下面得到了回答,我的第二个问题是[在此回答](http://stackoverflow.com/a/1075059/122781)。 – HappyNomad