重新水化通过AsyncCompletedEventArgs传递的对象
本文关键字:对象 AsyncCompletedEventArgs 新水化 | 更新日期: 2023-09-27 18:06:50
我正在构造一个匿名对象:
var userToken = new {myMsg = Msg, myTimer = timer};
并将其传递给事件处理程序:
smtp.SendCompleted += SendCompletedCallback;
private static void SendCompletedCallback(object sender, AsyncCompletedEventArgs e)
{
var msg = e.UserState;
}
检查msg
显示它包含我传递的值,但我不清楚允许我在代码中访问这些值的语法。
改进Jordao的回答:
private static void SendCompletedCallback(object sender, AsyncCompletedEventArgs e)
{
dynamic msg = e.UserState;
MyMessageType myMsg = msg.myMsg;
MyTimerType myTimer = msg.myTimer;
}
由于这是一个匿名对象,您可以使用dynamic
或实例强制转换技术访问这些属性。
理想情况下,您应该为该数据创建强类型对象。