/// <summary> /// Manually registers the given expression provider using the given key. /// </summary> /// <param name="replacementKey">The unique key for the replacement provider (e.g. 'each' in {{each foo in bar}}</param> /// <param name="provider">The provider to register</param> /// <param name="allowOverrideExistingKeys">If true, allow this provider to replace an existing provider registered with the same key . If false, an exception will be thrown if a conflict is found.</param> public void RegisterReplacementExpressionProvider(string replacementKey, IDocumentExpressionProvider provider, bool allowOverrideExistingKeys = false) { if (this.expressionProviders.ContainsKey(replacementKey)) { if (allowOverrideExistingKeys) { this.expressionProviders[replacementKey] = provider; } else { throw new ArgumentException("A replacement expression provider withe key '" + replacementKey + "' already exists. Use the allowOverrideExistingKeys flag to allow overriding the key"); } } else { this.expressionProviders.Add(replacementKey, provider); } }
/// <summary> /// Manually registers the given expression provider using the given key. /// </summary> /// <param name="replacementKey">The unique key for the replacement provider (e.g. 'each' in {{each foo in bar}}</param> /// <param name="provider">The provider to register</param> /// <param name="allowOverrideExistingKeys">If true, allow this provider to replace an existing provider registered with the same key . If false, an exception will be thrown if a conflict is found.</param> public void RegisterReplacementExpressionProvider(string replacementKey, IDocumentExpressionProvider provider, bool allowOverrideExistingKeys = false) { if(this.expressionProviders.ContainsKey(replacementKey)) { if (allowOverrideExistingKeys) { this.expressionProviders[replacementKey] = provider; } else { throw new ArgumentException("A replacement expression provider withe key '" + replacementKey + "' already exists. Use the allowOverrideExistingKeys flag to allow overriding the key"); } } else { this.expressionProviders.Add(replacementKey, provider); } }