2017-07-19 64 views
0

我有這個功能與回調參數Action<string> callback如何使用回調參數調用函數?

public void sync(Action<string> callback) 
     { 

      var client = new RestClient(RestfulPaths.BASE_URL); 
      var request = new RestRequest(RestfulPaths.SYNC_CHECK, Method.GET); 
      var json = client.Execute(request); 

      client.ExecuteAsync(request, response => 
      { 
       callback(response.Content); 
      }); 

     } 

我試圖調用此函數應用的另一部分:

ServerSync = manager.sync({ 
    // Get data here 
}); 

回答

2

Action表明,這是一個沒有返回值的委託。類型參數string指示該操作將採用字符串類型的單個參數。所以要使用它,你必須傳遞一個接受一個字符串參數的委託。一個簡單的方法是:

manager.sync((responseContent)=>{ 
    Console.WriteLine(responseContent); 
}); 
+0

'Action表示它是一個委託沒有返回值.'。這是什麼意思?現在它返回的值不是? – OPV

+2

它不會返回一個值。在你提供的例子中,委託方法是通過從其餘調用 –

+0

檢索到的'response.Content'來調用的。因此,在委託內部我可以得到響應結果? – OPV