J'ai un type dont le nom complet est :
"System.Collections.ObjectModel.ObservableCollection`1[[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]"
Le problème est que j'aimerais tester si mon Type est une ObservableCollection of string (dans le cas présent, c'est le cas). Voici donc mon code :
if (propertyType.GetType() == typeof(ObservableCollection<string>))
mais cela semble échouer et je ne comprends pas pourquoi :/
J'avais ce code qui fonctionne :
if (propertyType.Namespace == "System.Collections.ObjectModel" && propertyType.Name == "ObservableCollection`1")
{
//We are dealing with an ObservableCollection
var args = propertyType.GetGenericArguments();
if (args.Count() != 0 && args[0] == typeof(string))
{
//MyCode for ObservableCollection<string>
}
}
mais je n'ai pas l'impression que c'est optimal et vu que je vais devoir gérer d'autres collections (IEnumerable, List, etc...) d'autres types (int, bool, etc...) cela ne convient pas bien :(