//should not work public void TestExplicitDelegateStatic3() { var executor = new VaultActionExecutor(); VaultAction <StringBuilder, string> vaDel = StaticAppendText; executor.ExecuteAction(vaDel, "Hi mom!"); }
//should not work public void TestExplicitDelegateStatic2() { var executor = new VaultActionExecutor(); VaultAction <StringBuilder, string> vaDel = (ref StringBuilder sb, in string s) => { sb.AppendLine(s); //incorrect, references "this" and "_sb" StaticStringBuilder = sb; }; executor.ExecuteAction(vaDel, "Hi mom!"); }
//should not work BUT DOES -- BUG 76 FIX -- now DOES NOT WORK (and rightly so) public void TestExplicitDelegateStatic() { using (var vault = CreateSbVault()) { { VaultAction <StringBuilder, string> explicitDel = delegate(ref StringBuilder sb, in string s) { sb.AppendLine(s); //BUG 76 FIX now correct, -- will not compile bc references STATIC STRING BUILDER //bug 76 following line uncommented now (rightly) causes compilation failure //StaticStringBuilder = sb; }; using var lck = vault.Lock(); lck.ExecuteAction(explicitDel, "Hi mom!"); } } }
public VaultDialogForm(VaultAction action) { // Initialize internal state Action = action; SelectedVault = null; // Initialize controls and events InitializeComponent(); _tcTabs.Selected += (o, e) => { var virtualTab = e.TabPage.Tag.AssertCast<IVaultDialogTab>(); this.Text = virtualTab.FullTitle; if (TabActivated != null) TabActivated(o, new VaultDialogTabEventArgs(virtualTab)); }; _tcTabs.Deselected += (o, e) => { var virtualTab = e.TabPage.Tag.AssertCast<IVaultDialogTab>(); if (TabDeactivated != null) TabDeactivated(o, new VaultDialogTabEventArgs(virtualTab)); }; // Load plugins var lastSelectedTabType = (Type)AppDomain.CurrentDomain.GetData(this.GetType().FullName); lastSelectedTabType = lastSelectedTabType ?? VaultFormats.Default.GetType(); TabPage tabToSelectNow = null; var map = new Dictionary<TabPage, IVaultFormat>(); foreach (var format in VaultFormats.All) { format.InjectIntoVaultDialog(this); var tab = _tcTabs.TabPages.Cast<TabPage>().Last(); map.Add(tab, format); if (format.GetType() == lastSelectedTabType) { tabToSelectNow = tab; } } // Select previously selected page (or a default format) tabToSelectNow.AssertNotNull(); if (tabToSelectNow != null) { if (tabToSelectNow == _tcTabs.TabPages.Cast<TabPage>().First()) { // the target tab is already selected, but we need to raise our events if (TabActivated != null) TabActivated(this, new VaultDialogTabEventArgs(Tabs.First())); } else { _tcTabs.SelectedTab = tabToSelectNow; } } // Remember tab selections this.TabActivated += (o, e) => { var tabType = map[e.Tab.TabPage].GetType(); AppDomain.CurrentDomain.SetData(this.GetType().FullName, tabType); }; }
public String TabTitle(VaultAction action) { return (String)ResourcesClass.GetProperties(BF.All) .Single(p => p.Name == TabTitleKey + "_" + action.ToString()).GetValue(null, null); }
public String TabTitle(VaultAction action) { return((String)ResourcesClass.GetProperties(BF.All) .Single(p => p.Name == TabTitleKey + "_" + action.ToString()).GetValue(null, null)); }
public String LocTabTitle(VaultAction action) { return this.GetType().Attr<VaultFormatLocAttribute>().TabTitle(action); }
public VaultDialogForm(VaultAction action) { // Initialize internal state Action = action; SelectedVault = null; // Initialize controls and events InitializeComponent(); _tcTabs.Selected += (o, e) => { var virtualTab = e.TabPage.Tag.AssertCast <IVaultDialogTab>(); this.Text = virtualTab.FullTitle; if (TabActivated != null) { TabActivated(o, new VaultDialogTabEventArgs(virtualTab)); } }; _tcTabs.Deselected += (o, e) => { var virtualTab = e.TabPage.Tag.AssertCast <IVaultDialogTab>(); if (TabDeactivated != null) { TabDeactivated(o, new VaultDialogTabEventArgs(virtualTab)); } }; // Load plugins var lastSelectedTabType = (Type)AppDomain.CurrentDomain.GetData(this.GetType().FullName); lastSelectedTabType = lastSelectedTabType ?? VaultFormats.Default.GetType(); TabPage tabToSelectNow = null; var map = new Dictionary <TabPage, IVaultFormat>(); foreach (var format in VaultFormats.All) { format.InjectIntoVaultDialog(this); var tab = _tcTabs.TabPages.Cast <TabPage>().Last(); map.Add(tab, format); if (format.GetType() == lastSelectedTabType) { tabToSelectNow = tab; } } // Select previously selected page (or a default format) tabToSelectNow.AssertNotNull(); if (tabToSelectNow != null) { if (tabToSelectNow == _tcTabs.TabPages.Cast <TabPage>().First()) { // the target tab is already selected, but we need to raise our events if (TabActivated != null) { TabActivated(this, new VaultDialogTabEventArgs(Tabs.First())); } } else { _tcTabs.SelectedTab = tabToSelectNow; } } // Remember tab selections this.TabActivated += (o, e) => { var tabType = map[e.Tab.TabPage].GetType(); AppDomain.CurrentDomain.SetData(this.GetType().FullName, tabType); }; }
public String LocTabTitle(VaultAction action) { return(this.GetType().Attr <VaultFormatLocAttribute>().TabTitle(action)); }