Exemple #1
0
        public void Initialize(string code)
        {
            var textInfo = CultureInfo.InvariantCulture.TextInfo;

            var parameters = code.Replace("(", ",")
                             .Replace(")", ",")
                             .Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries)
                             .ToList().Skip(1).Select(x => x.Trim()).ToArray();

            var classToken = code.Contains("(") ? code.Replace(" ", "").Substring(0, code.IndexOf('(')) : code;
            var className  = textInfo.ToTitleCase(classToken.Trim().Replace("-", " ")).Replace(" ", "").Replace("Datetime", "DateTime");

            var clazz = AppDomain.CurrentDomain.GetAssemblies()
                        .SelectMany(t => t.GetTypes())
                        .Where(
                t => t.IsClass &&
                t.IsAbstract == false &&
                t.Name == className &&
                t.GetInterface("INativeTransformation") != null)
                        .SingleOrDefault();

            if (clazz == null)
            {
                throw new NotImplementedTransformationException(className);
            }

            transformation = (INativeTransformation)Activator.CreateInstance(clazz, parameters);
        }
Exemple #2
0
        public void Initialize(string code)
        {
            var textInfo  = CultureInfo.InvariantCulture.TextInfo;
            var className = textInfo.ToTitleCase(code.Trim().Replace("-", " ")).Replace(" ", "");

            var clazz = AppDomain.CurrentDomain.GetAssemblies()
                        .SelectMany(t => t.GetTypes())
                        .Where(
                t => t.IsClass &&
                t.IsAbstract == false &&
                t.Name == className &&
                t.GetInterface("INativeTransformation") != null)
                        .SingleOrDefault();

            if (clazz == null)
            {
                throw new NotImplementedTransformationException(code);
            }

            transformation = (INativeTransformation)Activator.CreateInstance(clazz);
        }
Exemple #3
0
 public void Initialize(string code)
 => transformation = new NativeTransformationFactory().Instantiate(code);