public IProperty GetProperty(string key, PropertyConfig config)
 {
     key = key.NotEmptyOrWhiteSpace("key");
     return(this.PropertyCache.GetOrAdd(key, this.NewProperty(key, config)));
 }
 public IProperty <T> GetProperty <T>(string key, PropertyConfig <T> config)
 {
     key = key.NotEmptyOrWhiteSpace("key");
     return((IProperty <T>) this.PropertyCache.GetOrAdd(key, (IProperty)this.NewProperty <T>(key, config)));
 }
 protected IProperty NewProperty(string key, PropertyConfig config)
 {
     return((IProperty) new DefaultProperty((IConfigurationManager)this, key, config));
 }