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()
     });
 }