diff --git a/src/Orleans/Configuration/ProviderConfiguration.cs b/src/Orleans/Configuration/ProviderConfiguration.cs index 558906412f7..db69a92a534 100644 --- a/src/Orleans/Configuration/ProviderConfiguration.cs +++ b/src/Orleans/Configuration/ProviderConfiguration.cs @@ -36,7 +36,7 @@ namespace Orleans.Runtime.Configuration public class ProviderConfiguration : IProviderConfiguration { private IDictionary properties; - private IList childConfigurations; + private readonly IList childConfigurations; private IList childProviders; [NonSerialized] private IProviderManager providerManager; @@ -52,6 +52,7 @@ public class ProviderConfiguration : IProviderConfiguration internal ProviderConfiguration() { properties = new Dictionary(); + childConfigurations = new List(); } public ProviderConfiguration(IDictionary properties, string type, string name) @@ -59,6 +60,7 @@ public ProviderConfiguration(IDictionary properties, string type this.properties = properties; Type = type; Name = name; + childConfigurations = new List(); } // for testing purposes @@ -66,13 +68,12 @@ internal ProviderConfiguration(IDictionary properties, IList(); } // Load from an element with the format ... internal void Load(XmlElement child, IDictionary alreadyLoaded, XmlNamespaceManager nsManager) { - childConfigurations = new List(); - if (nsManager == null) { nsManager = new XmlNamespaceManager(new NameTable()); @@ -144,7 +145,7 @@ internal void SetProviderManager(IProviderManager manager) child.SetProviderManager(manager); } - internal void SetProperty(string key, string val) + public void SetProperty(string key, string val) { if (!properties.ContainsKey(key)) {