/// <summary> /// Register custom transformation. /// </summary> /// <param name="code">Code of custom transformation.</param> /// <param name="activator">Activator of transformation.</param> public static void RegisterTransformation(string code, TransformationActivator activator) { foreach (var symbol in code) { if (symbol <= 'a' || symbol >= 'z') { throw new ArgumentException($"Register code {code} failure. Code must contain only lower-case letters."); } } RegisterTransformationInternal(code, activator, Constants.CustomTransformPrefix); }
private static void RegisterTransformationInternal(string code, TransformationActivator activator, string prefix) { var formattedCode = prefix + code; Activators[formattedCode] = activator; }