2011-10-21 12 views
0
class Abc { 
    public Mycollection<Person> Persons { get;set; } 
} 

class MyCollection<T> : ICollect<T> { ... } 

私はリフレクションを使用してABC.PersonsのPropertyInfoを取得しています。PropertyInfoがICollectであるかどうかを知るにはどうすればいいですか? - ReflectionとGenericType

PropertyInfoがICollectであるかどうかを知りたいのですが、タイプ<>どうすればいいですか?

+0

あなたは財産(人が)ICollect <であるかどうかを知りたいわけですか? – DennyFerra

+0

@DennyFerrassoli ...それはまさに私が知りたいのです。 – BrijenVed

答えて

1

これは次のように思える:>How To Detect If Type is Another Generic Type

public static bool IsAssignableToGenericType(Type givenType, Type genericType) { 
var interfaceTypes = givenType.GetInterfaces(); 

foreach (var it in interfaceTypes) 
    if (it.IsGenericType) 
     if (it.GetGenericTypeDefinition() == genericType) return true; 

Type baseType = givenType.BaseType; 
if (baseType == null) return false; 

return baseType.IsGenericType && 
    baseType.GetGenericTypeDefinition() == genericType || 
    IsAssignableToGenericType(baseType, genericType); 

}

+0

それは動作します!ありがとう! – BrijenVed

関連する問題