[英]Why do I get a “Object reference not set to an instance of an object” on my custom OnLoaded event?
[英]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.