private bool ImplementsICommand(PropertyDefinition property)
{
var commandInterfaces = new List<string>(new[] { "ICommand", "ICatelCommand" });
var resolvedType = property.PropertyType.Resolve();
if (resolvedType == null)
{
return false;
}
if (resolvedType.IsInterface)
{
return commandInterfaces.Any(x => resolvedType.Name.Contains(x));
}
var baseTypes = resolvedType.GetBaseTypes(true);
foreach (var baseType in baseTypes)
{
if (commandInterfaces.Any(x => baseType.Name.Contains(x)))
{
return true;
}
}
return false;
}