C# 是否对ObservableCollection执行GetGenericArguments()<;T>;可以是空的吗?
在我的代码中,我处理的是可观测集合(作为System.Type)。那么我会:C# 是否对ObservableCollection执行GetGenericArguments()<;T>;可以是空的吗?,c#,observablecollection,C#,Observablecollection,在我的代码中,我处理的是可观测集合(作为System.Type)。那么我会: var args = propertyType.GetGenericArguments(); 为了了解我拥有的收藏类型,我正在进行以下测试: if (args.Count() != 0 && args[0] == typeof(string)) 我正在测试args是否为空,但我想问的是“当我处理ObservableCollection时,args列表是否可能为空?” 我不确定我问的是否清楚,如果不清
var args = propertyType.GetGenericArguments();
为了了解我拥有的收藏类型,我正在进行以下测试:
if (args.Count() != 0 && args[0] == typeof(string))
我正在测试args是否为空,但我想问的是“当我处理ObservableCollection时,args列表是否可能为空?”
我不确定我问的是否清楚,如果不清楚就告诉我 如果可以保证
propertyType
始终是typeof(observetecollection)
,则可以安全地假设args始终有一个元素。否。如果propertyType是泛型类型,则args永远不能为空
在执行此代码之前,您可以使用type.IsGenericType
属性检查该类型是否为泛型
因此,我建议这样做:
if(propertyType.IsGenericType)
{
var args = propertyType.GetGenericArguments();
if (args[0] == typeof(string))
}