public void SaveToFile(string pOutputDir) { string functions = GenerateFunctionCodeBlock(); string properties = GeneratePropertiesCodeBlock(); string internals = GenerateInternalsCodeBlock(); string specifics = GenerateSpecificCodeBlock(); string constructors = ConstructorsTemplate.GetConstructorsString(Name); string ns = CSharpGenerator.BaseNs; if (!Namespace.Equals("")) { ns += "." + Namespace; } string nsPath = ns.Replace('.', '/'); Directory.CreateDirectory(pOutputDir + "/" + nsPath); StreamWriter SW = new StreamWriter(pOutputDir + "/" + nsPath + "/" + Name + ".cs"); List <string> parentList = Name != "SimObject" ? ParentList : null; string code = SimObjectTemplate.GetClassString(ns, Name, parentList, constructors, internals, properties, functions, specifics); if (Name.Equals("SimObject")) { code = code.Replace(" : base(pId)", "") .Replace(" : base(pObjPtr)", "") .Replace(" : base(pName)", "") .Replace(" : base(pObjPtr)", ""); } SW.Write(code); SW.Close(); }
private void CreateApiIndexFiles() { foreach (var solution in StepInput.SDProject.Solutions.Values) { var sdRepository = solution.Repositories.SingleOrDefault(r => r.TargetFx.Identifier == StepInput.CurrentTargetFx.Identifier); if (sdRepository != null) { foreach (var sdNamespace in sdRepository.GetAllNamespaces()) { ExecuteOnStepMessage(string.Format("{0}: {1}", StepInput.ChmStrings.CreateIndexFilesFor, sdNamespace.Fullname)); var namespaceHtmlFile = Path.Combine(StepInput.TmpPath, sdNamespace.Guid + ".html"); var template = new NamespaceTemplate { SDNamespace = sdNamespace }; File.WriteAllText(namespaceHtmlFile, template.TransformText()); foreach (var sdType in sdNamespace.Types) { var fieldsIndexHtmlFile = Path.Combine(StepInput.TmpPath, sdType.Guid + "-Fields.html"); var fieldsTemplate = new FieldsTemplate { SDType = sdType }; File.WriteAllText(fieldsIndexHtmlFile, fieldsTemplate.TransformText()); var eveIndexHtmlFile = Path.Combine(StepInput.TmpPath, sdType.Guid + "-Events.html"); var eventsTemplate = new EventsTemplate { SDType = sdType }; File.WriteAllText(eveIndexHtmlFile, eventsTemplate.TransformText()); var propertiesIndexHtmlFile = Path.Combine(StepInput.TmpPath, sdType.Guid + "-Properties.html"); var propertiesTemplate = new PropertiesTemplate { SDType = sdType }; File.WriteAllText(propertiesIndexHtmlFile, propertiesTemplate.TransformText()); var constructorsIndexHtmlFile = Path.Combine(StepInput.TmpPath, sdType.Guid + "-Constructors.html"); var constructorsTemplate = new ConstructorsTemplate { SDType = sdType }; File.WriteAllText(constructorsIndexHtmlFile, constructorsTemplate.TransformText()); var methodsIndexHtmlFile = Path.Combine(StepInput.TmpPath, sdType.Guid + "-Methods.html"); var methodsTemplate = new MethodsTemplate { SDType = sdType }; File.WriteAllText(methodsIndexHtmlFile, methodsTemplate.TransformText()); } } } } }