/// <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); }