Example #1
0
        public static void BeginFile(string file, string info)
        {
            Program.MainForm.StatusBar.Text = info;

            if (!s_MethodBodyModifiers.ContainsKey(file))
            {
                MethodBodyModifier methodBodyModifier = new MethodBodyModifier(file, s_OutputPath);
                s_MethodBodyModifiers[file] = methodBodyModifier;
            }
        }
Example #2
0
        private void replaceMethodBody_Click(object sender, EventArgs e)
        {
            if (assemblyList.Items.Count <= 0)
            {
                return;
            }
            string path = exportDir.Text.Trim();

            if (path.Length <= 0)
            {
                MessageBox.Show("请先选择一个输出目录!");
                return;
            }

            int curNum   = 0;
            int totalNum = assemblyList.Items.Count;

            progressBar.Value = 0;
            statusLabel.Text  = "开始方法体替换......";

            MethodBodyModifier.ErrorTxts.Clear();
            Dictionary <string, MethodBodyModifier> methodBodyModifiers = new Dictionary <string, MethodBodyModifier>();

            foreach (string s in assemblyList.Items)
            {
                statusLabel.Text = "对文件 " + s + " 进行方法体替换中......";
                Application.DoEvents();

                if (!methodBodyModifiers.ContainsKey(s))
                {
                    MethodBodyModifier methodBodyModifier = new MethodBodyModifier(s, path);
                    methodBodyModifiers[s] = methodBodyModifier;
                }
                methodBodyModifiers[s].BeginReplace();
                methodBodyModifiers[s].Replace(srcClassName.Text, targetClassName.Text);
                methodBodyModifiers[s].EndReplace();

                curNum++;
                progressBar.Value = curNum * 100 / totalNum;
                Application.DoEvents();
            }
            progressBar.Value = 0;
            statusLabel.Text  = "方法体替换完毕.";
            resultCtrl.Text   = string.Join("\r\n", MethodBodyModifier.ErrorTxts.ToArray());
            MethodBodyModifier.ErrorTxts.Clear();
        }