Le designer de variables aillant besoin d’un scope, vous pouvez vous aussi avoir besoin lors du design de connaitre le premier scope accessible par votre activité. Ceci par exemple pour tester l’existence d’une variable.
C#
/// <summary> internal static class VariablesHelper { // Nom de la propriété "Variables" public const String VariablesPropertyName = "Variables"; /// Retouner le premier parent pouvant contenir des variables /// </summary> /// <param name="modelItem"></param> /// <returns></returns> private static ModelItem GetFirstParentWithVariables(ModelItem modelItem) { // Test si on trouve une liste de propriétés if (modelItem.Properties .Any(c => c.Name == VariablesHelper.VariablesPropertyName & c.PropertyType == typeof(Collection<Variable>))) { return modelItem; } // Test si on a un parent if (modelItem.Parent != null) { return GetFirstParentWithVariables(modelItem.Parent); } else { return null; } }
}