namespace System.Workflow.ComponentModel.Compiler { #region Imports using System; using System.Reflection; using System.Collections; using System.Collections.Generic; using System.ComponentModel.Design.Serialization; #endregion [Obsolete("The System.Workflow.* types are deprecated. Instead, please use the new types from System.Activities.*")] public sealed class ValidationManager : IServiceProvider { #region Data members private Hashtable hashOfValidators = new Hashtable(); private IServiceProvider serviceProvider = null; private ContextStack context = null; private bool validateChildActivities = true; #endregion #region Constructors public ValidationManager(IServiceProvider serviceProvider) : this(serviceProvider, true) { } public ValidationManager(IServiceProvider serviceProvider, bool validateChildActivities) { this.serviceProvider = serviceProvider; this.validateChildActivities = validateChildActivities; } #endregion #region Public members public ContextStack Context { get { if (this.context == null) this.context = new ContextStack(); return this.context; } } public bool ValidateChildActivities { get { return this.validateChildActivities; } } public Validator[] GetValidators(Type type) { if (this.hashOfValidators.Contains(type)) return ((List)this.hashOfValidators[type]).ToArray(); List validators = new List(); foreach (Validator validator in ComponentDispenser.CreateComponents(type, typeof(ActivityValidatorAttribute))) validators.Add(validator); this.hashOfValidators[type] = validators; return validators.ToArray(); } #endregion #region IServiceProvider Members public object GetService(Type serviceType) { return this.serviceProvider.GetService(serviceType); } #endregion } }