public IEnumerable <GeneratedFile> GetGeneratedFiles(string baseFilename, StronglyTypedClass info, ResourceInfo.ResourceFileInfo resourceFileInfo) { var builder = new CodeStringBuilder(resourceFileInfo.Project.GetIndentString()); GenerateHeaders(builder, info.IsAdvanced); AddNewLine(builder); OpenNamespace(builder, info.Namespaces); OpenStronglyTypedClass(builder, info.ResoureFile, info.ClassName); foreach (var item in info.Localizations) { AddNewLine(builder); OpenRegion(builder, item.Key); CreateFormatMethod( builder, item.Key, item.IsProperty, item.Parameters, item.Summary, item.ExtraParameters, (item as PluralLocalization)?.ParameterToUseForPluralization, (item as PluralLocalization)?.SupportNoneState ?? false, (item as IVariantLocalization)?.ParameterToUseForVariant); CloseRegion(builder, item.Key); } CloseStronglyTypedClass(builder); AddNewLine(builder); CreateMarkupExtension(builder, info.ResoureFile, info.ClassName + "Extension", info.Localizations.Where(i => i is Localization).Select(s => s.Key)); CloseNamespace(builder, info.Namespaces); return(GetGeneratedFiles(builder, baseFilename)); }
public override IEnumerable <GeneratedFile> GetGeneratedFiles(string baseFilename, StronglyTypedClass info, ResourceInfo.ResourceFileInfo resourceFileInfo) { // Generate .cpp and .h files var namespaces = new List <string> { "winrt" }; if (info.Namespaces != null) { namespaces.AddRange(info.Namespaces); } namespaces.Add("implementation"); var generatedFiles = GeneratedFiles(baseFilename, info, resourceFileInfo, namespaces); foreach (var file in generatedFiles) { yield return(file); } var builderIdl = new CodeStringBuilder(resourceFileInfo.ParentProject.GetIndentString()); // Generate .idl file yield return(GenerateIdlFile(builderIdl, baseFilename, info)); }