BeforeBuild.Substitution.WalkThrough C# (CSharp) Method

WalkThrough() private method

private WalkThrough ( int indent, string sd, string dd, string>.IDictionary partials ) : bool
indent int
sd string
dd string
partials string>.IDictionary
return bool
        private bool WalkThrough(int indent, string sd, string dd, IDictionary<string, string> partials)
        {
            DirectoryInfo dir = new DirectoryInfo(sd);

            foreach (FileInfo fi in dir.GetFiles())
            {
                Log(indent, "处理文件" + fi.Name);
                if(fi.Name.ToUpper().EndsWith(".XAML"))
                {
                    //查找注释项,并替换
                    Substitute(indent, fi.FullName, dd + fi.Name, partials);
                }
                else
                {
                    File.Copy(fi.FullName, dd + fi.Name);
                }
            }

            foreach (DirectoryInfo di in dir.GetDirectories())
            {
                String subDir = di.FullName.Substring(srcDir.Length);
                if (!subDir.EndsWith("\\"))
                    subDir += "\\";
                Log(indent, "创建目录" + subDir.Substring(0, subDir.Length-1));
                Directory.CreateDirectory(dstDir + subDir);
                return WalkThrough(indent+1, srcDir + subDir, dstDir + subDir, partials);
            }
            return true;
        }