僞類庫代碼:
public function void startQuery() //starts a thread that does the JSON query
//inside thread on query result use OnDone() delegate
private delegate void OnDone(string dateTimeString);
//In main GUI code add a reference to the class lib and init a new object then add an event handler to the OnDone delegate of the class lib
JSONClassLib myJson=new JSONClassLib();
...
myJson.OnDone+=new EventHandler(myEventHandler);
void myEventHandler(sender this, objext o){
//will be called when query is done
}
//you need to use Control.Invoke if you want to update the GUI from myEventHandler
//to start a query use something like this from your class lib
myJson.doQuery(string);
如果您將現有的代碼,我們可以創建一個類的lib幫助和異步代碼
任何可以在應用程序中完成的事情都可以在一個庫中完成,因此它不完全清楚你要問什麼。創建一個DLL,讓它直接進行調用,或讓它使用像RestSharp這樣的另一個庫。 – ctacke 2014-11-24 19:31:42
@ctacke我問的是,如果可以通過類庫來實現,那麼該怎麼做。如果不可能,那麼實現它的可能方式是什麼?請幫助.. :) – Joy 2014-11-24 19:38:16
要在類庫中使用任何異步查詢結果,您只需將獲取結果所需的所有代碼放入類庫文件項目即可。類庫代碼需要公開一些用於啓動查詢的函數和一個用於訂閱結果的事件/委託對。有關異步GUI更新,請參閱http://msdn.microsoft.com/en-us/library/aa446522.aspx – josef 2014-11-25 05:28:08