示例#1
0
        /// <summary>
        /// Loads the rules.
        /// </summary>
        public void LoadRules()
        {
            //load from app.config
            J2CSSection config =
                ConfigurationManager.GetSection(
                    "J2CS") as J2CSSection;

            foreach (RuleSection rs in config.Rules)
            {
                EquivalentRule r = new EquivalentRule(rs.Name);
                r.Pattern     = rs.Pattern;
                r.Replacement = rs.Replacement;
                //Console.WriteLine(r.ToString());
                AddRule(r);
            }
            //load from assembly
            Assembly asm       = Assembly.GetExecutingAssembly();
            string   nameSpace = "JavaToCSharp.Rules";

            foreach (Type type in asm.GetTypes())
            {
                if (type.Namespace == nameSpace && !type.IsAbstract && type.Name != "EquivalentRule")
                {
                    AddRule(Activator.CreateInstance(type) as Rule);
                }
            }
        }
示例#2
0
        /// <summary>
        /// Loads the rules.
        /// </summary>
        public void LoadRules()
        {
            // load from appsettings.json
            var rules = config.GetSection("C2CS:Rules:add").Get <List <RuleSection> >();

            foreach (RuleSection rs in rules)
            {
                EquivalentRule r = new EquivalentRule(rs.Name);
                r.Pattern = rs.Pattern;
                r.SetReplacement(rs.Replacement);
                AddRule(r);
            }

            // load from assembly
            Assembly asm       = Assembly.GetExecutingAssembly();
            string   nameSpace = "C2CSharp.Rules";

            foreach (Type type in asm.GetTypes())
            {
                if (type.Namespace == nameSpace && !type.IsAbstract && type.Name != "EquivalentRule")
                {
                    AddRule(Activator.CreateInstance(type) as Rule);
                }
            }
        }