我試圖檢查以下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