我希望得到所有以“Foo”开头的ObjectSet。我已经编写了下面的代码,但它没有进入if构造。
foreach (PropertyDescriptor prop in TypeDescriptor.GetProperties(context))
{
if (prop.PropertyType == typeof(ObjectSet<>))
{
// It doesn't step here even though
// prop.PropertyType is an ObjectSet`1...
请帮忙。
答案 0 :(得分:4)
对于某些prop.PropertyType
,我怀疑ObjectSet<X>
实际上是X
。你可能想要这样的东西:
if (prop.PropertyType.IsGenericType &&
prop.PropertyType.GetGenericTypeDefinition() == typeof(ObjectSet<>))