[英]C# Access Data in VSTO Addin
我正在創建VSTO插件。 我希望在Outlook啟動時創建一個字典,然后可以從OutlookRibbon類中的方法進行訪問。 創建此類詞典的最佳實踐或適當方法是什么? 我目前有在使用字典的方法中創建字典的方法,由於每次調用它的效率都很低。 這是代碼:
public partial class OutlookRibbon
{
private void OutlookRibbon_Load(object sender, RibbonUIEventArgs e)
{
genMyDict();
}
private void button1_Click(object sender, RibbonControlEventArgs e)
{
Archive();
}
void genMyDict()
{
Dictionary<string, string> myDict= new Dictionary<string, string>();
myDict.Add("@x.com", "x");
// many lines of this
}
void Archive()
{
if (myDict.ContainsKey("@x.com")) { // run code }
}
顯然這會引發錯誤myDict在Archive()的當前上下文中不存在
我應該如何構造它,以便僅一次創建字典,但仍可以從OutlookRibbon類中的其他方法訪問該字典? 我似乎無法使其工作。 有沒有更好的方法來創建dict以便在VSTO Outlook插件中使用?
myDict在當前上下文中不存在
通過使其成為OutlookRibbon
類的屬性來更改字典的范圍。 這將擴大其范圍,使其脫離genMyDict
方法的本地化堆棧 。
public Dictionary<string, string> MyDictionary { get; set; }
void genMyDict()
{
MyDictionary = new Dictionary<string, string>();
MyDictionary.Add("@x.com", "x");
...
}
void Archive()
{
if (MyDictionary.ContainsKey("@x.com")) { // run code }
}
這將使所有內容都可以訪問它。 為此,范圍的更改允許僅從一種方法訪問整個類。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.