4

値がどのタイプの ObservableCollection であるか、C# ではないかを確認したいですか?

例: 次のように、値が文字列型かどうかを確認できます。

string value = "value to Check";
bool b = value.GetType().Equals(typeof(string));  // b =true

しかし、値がObservableCollectionであるかどうかを確認する必要がある場合、構成要素のタイプに関係なく、どうすればよいですか?

例えば:

ObservableCollection<T> collection = new ObservableCollection<T>();

このようにチェックしていたら

bool b = collection.GetType().Equals(typeof(ObservableCollection<>)); // b=false

値がコレクションかどうかを確認するにはどうすればよいですか??

4

4 に答える 4

8

試す

bool b = collection.GetType().IsGenericType &&
           collection.GetType().GetGenericTypeDefinition() == typeof(ObservableCollection<>);
于 2013-09-18T10:16:41.967 に答える