Witam,
jak poradzić sobie w takiej sytuacji:
dla uproszczenia pseudo kod
class HtmlDownloader
{
private OnDownloadComplete onDownloadCompleteHandler;
public delegate void OnDownloadComplete(string resultHtml);
public HtmlDownloader(OnDownloadComplete onDownloadComplete)
{
onDownloadCompleteHandler += onDownloadComplete;
}
public void StartDownloadHtml()
{
Browser b = new Browser();
b.DocumentCompleted += Browser_DocumentCompleted;
b.GetMyHtml("url");
}
private void Browser_DocumentCompleted(object sender, EventArgs e)
{
onDownloadCompleteHandler("returnDownloadedHtml");
}
}
Wynik metody StartDownloadHtml()
zwracany jest przez delegata w odpowiedzi na event klasy Browser.
W jaki sposób i czy w ogóle mogę zrefaktoryzować tę metodę na
public string async GetHtml()
, żeby pozbyć się tego delegata OnDownloadComplete
?