簡體   English   中英

為什么在此事件中收到“請求對象引用”?

[英]Why do I get a “object reference requested” with this event?

我正在嘗試使用從第二個線程引發的自定義事件。 以下是代碼的相關部分:

delegate void SearchCompleteHandler(Dictionary<string, List<string>> results);
event SearchCompleteHandler SearchComplete;

public static void Search()
{
    Dictionary<string, List<string>> result = new Dictionary<string, List<string>>();
    SearchComplete?.Invoke(result);
}

SearchComplete = new SearchCompleteHandler(ShowSearchResults);
SearchComplete += new SearchCompleteHandler(ShowSearchResults);
dupeSearchThread = new System.Threading.Thread(Search);
dupeSearchThread.Start();

我在這一行出現錯誤:

SearchComplete?.Invoke(result);

VS表示“此非靜態屬性需要對象引用”(近似比)。

我認為在使用事件之前將Handler添加到事件就足夠了。 我該怎么辦 ?

發生這種情況的原因是,您引用的對象根本不是靜態的:您應該從Search方法中刪除關鍵字static,以便可以在您的類的實例中訪問它,從而使它能夠訪問所有變量和對象。在其中實例化。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM