0
我在,我現在想的線程添加到長期的任務同步模型編寫一個程序,我有幾個屬性,自動像某些信息的檢索:如果我嘗試顯然調用屬性
private int tabIdx { get { return tabs.SelectedIndex; } }
private string tabName { get { return tabs.SelectedTab.Text; } }
public TabControls TabControls { get { return (TabControls)tabs.TabPages[tabIdx].Controls[string.Format("tab_{0}_controls", tabIdx)]; } }
internal TabControls getTabControls(string name)
{
int desiredIdx = tabs.TabPages.IndexOfKey(name);
return (TabControls)tabs.TabPages[desiredIdx].Controls[string.Format("tab_{0}_controls", desiredIdx)];
}
public Core rCore { get { return rdbCores[tabIdx]; } }
從Task.Run(())
內部訪問這些屬性,或者我會得到一個跨線程異常。
所以我的問題是:
是否有可能有類似的太方法來調用這些屬性:
private void invokeIfRequired(ISynchronizeInvoke obj, MethodInvoker action)
{
if (obj.InvokeRequired) { obj.Invoke(action, new object[0]); }
else { action(); }
}
https://stackoverflow.com/a/45961869/17034 –