2 // Copyright (c) Microsoft Corporation. All rights reserved.
5 namespace System.Activities.Presentation.View
7 using System.Activities.Presentation.Validation;
8 using System.Activities.Validation;
9 using System.Collections.Generic;
10 using System.Collections.ObjectModel;
12 using Microsoft.Activities.Presentation;
13 using Microsoft.VisualBasic.Activities;
15 internal class VisualBasicReferenceValidationFeature : Feature
17 private static readonly Type VisualBasicReferenceType = typeof(VisualBasicReference<>);
19 public override void Initialize(EditingContext context, Type modelType)
22 modelType.IsGenericType && (modelType.GetGenericTypeDefinition() == VisualBasicReferenceType),
23 "This Feature should only apply to VisualBasicReference<>");
25 ValidationService validationService = context.Services.GetService<ValidationService>();
26 if (validationService != null && WorkflowDesigner.GetTargetFramework(context).IsLessThan45())
28 validationService.Settings.AdditionalConstraints.Add(VisualBasicReferenceType, new List<Constraint> { VisualBasicDesignerHelper.NameShadowingConstraint });