private void UpdateCodeDomProviders(bool must) { if (must || ls.Count == 0) { if (CodeProviderRouter == null) { CodeProviderRouter = new LangCodeProvider(); CodeProviderRouter.OtherProvider = new List <string>(); } ls = GetProviderList(CodeProviderRouter.OtherProvider.ToArray()); foreach (var item in Enum.GetNames(typeof(cfLangType))) { ProviderInfo pi = typeof(LangCodeProvider).InvokeMember(item, BindingFlags.GetProperty, null, Kit.GetDefaultCodeProviderRouter(), new object[] { }) as ProviderInfo; if (!Exists(pi)) { ls.Add(pi); } } } foreach (var item in Enum.GetNames(typeof(cfLangType))) { if (this.Controls.ContainsKey("cbx" + item)) { cbxCodeDomeProvider cbx = this.Controls["cbx" + item] as cbxCodeDomeProvider; if (cbx != null) { cbx.UpdateCodeDomProvider(ls); } } } }
public void SetInfo(LangCodeProvider _CodeProviderRouter) { CodeProviderRouter = _CodeProviderRouter; if (this.Site == null || this.Site.DesignMode == false) { LoadRouterInfo(); } }
public static LangCodeProvider GetDefaultCodeProviderRouter() { if (_LangCodeProvider == null) { _LangCodeProvider = XMLRW <LangCodeProvider> .Read(Properties.Resources.CodeProviderRouter); } return(_LangCodeProvider); }
public static LangCodeProvider GetCodeProviderRouter() { LangCodeProvider result = null; if (Kit.SlnKeel != null && Kit.SlnKeel.CodeProviderRouter != null && Kit.SlnKeel.CodeProviderRouter.CSharp != null && Kit.SlnKeel.CodeProviderRouter.VBDotNet != null && Kit.SlnKeel.CodeProviderRouter.FSharp != null && Kit.SlnKeel.CodeProviderRouter.CPP != null && Kit.SlnKeel.CodeProviderRouter.IronPython != null ) { result = Kit.SlnKeel.CodeProviderRouter; } else { result = GetDefaultCodeProviderRouter(); } return(_LangCodeProvider); }
private void LoadRouterInfo() { try { UpdateCodeDomProviders(false); } catch (Exception ex) { Common.ShowInfo("加载代码提供器时遇到问题" + ex.Message); } if (CodeProviderRouter == null) { if (KeelKit.Kit.SlnKeel != null && KeelKit.Kit.SlnKeel.CodeProviderRouter != null) { CodeProviderRouter = KeelKit.Kit.SlnKeel.CodeProviderRouter; } else { Common.ShowInfo("解决方案配置不正确!"); } } if (CodeProviderRouter != null) { try { ReloadRouterInfo(); this.lstAsms.Items.Clear(); if (CodeProviderRouter.OtherProvider != null) { this.lstAsms.Items.AddRange(CodeProviderRouter.OtherProvider.ToArray()); } } catch (Exception) { Common.ShowInfo("加载代码提供器信息时遇到问题!"); } } }
private void ResetRouterInfo() { CodeProviderRouter = XMLRW <LangCodeProvider> .Read(Properties.Resources.CodeProviderRouter); ReloadRouterInfo(); }