コード例 #1
0
        private CodeNamespace GenerateNamespaceAndImports(string platformName, string className, string parentType)
        {
            platformName = platformName.Replace(" ", "");
            platformName = platformName.Replace("Halo1", "Halo");
            CodeNamespace cns = new CodeNamespace("Games." + platformName + ".Tags.Classes");

            string headerLine1 = String.Format("Prometheus Tag Library - {0}", platformName);
            string userName    = WindowsIdentity.GetCurrent().Name.ToString();

            if (userName.Contains("_AZ"))
            {
                userName = "******";
            }
            if (userName.Contains("Owner"))
            {
                userName = "******";
            }
            if (userName.Contains("Black"))
            {
                userName = "******";
            }

            string objectName = String.Format("Tag definition for '{0}'", className);

            if (parentType != null)
            {
                objectName += String.Format(" (derived from '{0}')", parentType);
            }
            string buildInfo = String.Format("Generated on {0} at {1} by {2}", DateTime.Today.ToShortDateString(),
                                             DateTime.Now.ToShortTimeString(), userName);
            string commentBorder = new string('-', StringOps.LongestStringLength(headerLine1, buildInfo, objectName));

            cns.Comments.Add(new CodeCommentStatement(commentBorder));
            cns.Comments.Add(new CodeCommentStatement(headerLine1));
            cns.Comments.Add(new CodeCommentStatement(objectName));
            cns.Comments.Add(new CodeCommentStatement(buildInfo));
            cns.Comments.Add(new CodeCommentStatement(commentBorder));

            cns.Imports.Add(new CodeNamespaceImport("System.IO"));
            cns.Imports.Add(new CodeNamespaceImport("System.Diagnostics"));
            cns.Imports.Add(new CodeNamespaceImport("System.Collections.Generic"));
            cns.Imports.Add(new CodeNamespaceImport("Interfaces"));
            cns.Imports.Add(new CodeNamespaceImport("Interfaces.Factory"));
            cns.Imports.Add(new CodeNamespaceImport(typedefNamespace));

            return(cns);
        }