Esempio n. 1
0
        /// <summary>
        /// Registers a dynamic property bag provider. This is an internal method.
        /// </summary>
        /// <param name="provider">The property bag provider to add.</param>
        /// <exception cref="ArgumentNullException">The provider is null.</exception>
        /// <exception cref="InvalidOperationException">A provider has already been registered.</exception>
        internal static void RegisterProvider(IPropertyBagProvider provider)
        {
            if (null != s_PropertyBagProvider)
            {
                throw new InvalidOperationException($"An existing {nameof(IPropertyBagProvider)} has already been registered. Current provider is {s_PropertyBagProvider.GetType()}.");
            }

            s_PropertyBagProvider = provider ?? throw new ArgumentNullException(nameof(provider));
        }
 public static void RegisterProvider(IPropertyBagProvider provider)
 {
     s_PropertyBagProviders.Add(provider);
 }