Возвращение значения из анонимного метода - C#
Формулировка задачи:
Как вернут значение из анонимных методов ? Или какой иной подход использовать?
returnRate = d;
using SocketIOClient; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication9 { class Program { static void Main(string[] args) { Cars c = new Cars(); Bicycles b = new Bicycles(); } } public class Cars { public Cars() { GetData G1 = new GetData(); Dictionary<string, string> D1 = new Dictionary<string, string>(); G1.ProcessCars(ref D1); } } public class Bicycles { public Bicycles() { GetData G2 = new GetData(); Dictionary<string, string> D2 = new Dictionary<string, string>(); G2.ProcessBicycles(ref D2); } } public class Singleton { private static Singleton instance; public Dictionary<string, Action<MessageEventArgs>> Handle; private Singleton() { Handle = new Dictionary<string, Action<MessageEventArgs>>(); } public static Singleton Instance { get { if (instance == null) { instance = new Singleton(); } return instance; } } } public class GetData { private Client socket; public GetData() { socket = new Client("http://echo.jsontest.com/bicycles/10"); socket.Message += Message; } public void ProcessBicycles(ref Dictionary<string, string> returnRate) { Singleton.Instance.Handle.Add("bicycles", (m) => { Dictionary<string, string> d = m.Message.Json.GetFirstArgAs<Dictionary<string, string>>() as Dictionary<string, string>; //returnRate = d; }); } public void ProcessCars(ref Dictionary<string, string> returnRate) { Singleton.Instance.Handle.Add("cars", (m) => { Dictionary<string, string> d = m.Message.Json.GetFirstArgAs<Dictionary<string, string>>() as Dictionary<string, string>; //returnRate = d; }); } private void Message(object sender, MessageEventArgs e) { if (Singleton.Instance.Handle.ContainsKey(e.Message.Event)) { Singleton.Instance.Handle[e.Message.Event](e); } } } }
Решение задачи: «Возвращение значения из анонимного метода»
textual
Листинг программы
public Dictionary<string, Action<MessageEventArgs>> Handle;
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д