private async void MalpBindingButton_Click(object sender, RoutedEventArgs e) { CommonOpenFileDialog dialog = new CommonOpenFileDialog { IsFolderPicker = true }; dialog.ShowDialog(); string[] bindingFiles = Directory.GetFiles(dialog.FileName, "*_Binding*.*", SearchOption.AllDirectories); string[] cFiles = Directory.GetFiles(dialog.FileName, "*.c*", SearchOption.AllDirectories).Except(bindingFiles).ToArray(); TSClassMetaData GeneratedClassMetaData = new TSClassMetaData { Classes = new List <EngineClass>(), Functions = new List <CFunction>(), Fields = new List <T6Field>() }; GenerateProgressBar.Maximum = cFiles.Count(); GenerateProgressBar.Value = 0; foreach (string file in cFiles) { string _file = file; await Task.Run(() => GeneratedClassMetaData.AddBindingFile(_file)); GenerateProgressBar.Value++; } GeneratedClassMetaData.GenerateHierarchy(); GeneratedClassMetaData.SetFunctionNamespaces(); GeneratedClassMetaData.WriteToXML("bs.xml"); }
public TSClassMetaData MergeWith(TSClassMetaData TsClassMetaData) { return(new TSClassMetaData { Functions = Functions.Concat(TsClassMetaData.Functions).ToList(), Classes = Classes.Concat(TsClassMetaData.Classes).ToList(), Fields = Fields.Concat(TsClassMetaData.Fields).ToList() }); }