如何在C#for Dictionary中使用委托<;int,List<;字符串>&燃气轮机;
守则: [1] [4] 如何将类型分别为如何在C#for Dictionary中使用委托<;int,List<;字符串>&燃气轮机;,c#,list,dictionary,delegates,invoke,C#,List,Dictionary,Delegates,Invoke,守则: [1] [4] 如何将类型分别为ReceiveMessageAction的两个变量Dictionary发送到receivesmessagestatus方法 谢谢 我有一个在线程中执行的函数。在这里,我创建了一个类型为Dictionary的对象,并使用一个委托,我不想在我的表单中使用这个对象 代码的一部分如上所述: [1] 减少委托的费用 [2] 对象 [3] 代表的号召 [3] 需要发送对象的函数您是否尝试将值转换为字典?e、 g private void ReceiveMessage
ReceiveMessageAction
的两个变量Dictionary
发送到receivesmessagestatus
方法
谢谢
我有一个在线程中执行的函数。在这里,我创建了一个类型为
Dictionary
的对象,并使用一个委托,我不想在我的表单中使用这个对象
代码的一部分如上所述:
[1] 减少委托的费用
[2] 对象
[3] 代表的号召
[3] 需要发送对象的函数您是否尝试将值转换为字典?e、 g
private void ReceiveMessagesStatus(ReceieveMessageAction action, object value)
{
var myDictionary = (Dictionary<int, List<string>>)value;
...
}
private void ReceiveMessagesStatus(receiveMessageAction,对象值)
{
var myDictionary=(Dictionary)值;
...
}
您是否尝试过将值转换为字典?e、 g
private void ReceiveMessagesStatus(ReceieveMessageAction action, object value)
{
var myDictionary = (Dictionary<int, List<string>>)value;
...
}
private void ReceiveMessagesStatus(receiveMessageAction,对象值)
{
var myDictionary=(Dictionary)值;
...
}
解决方案:
[1]
[2]
private void receivesmessagestatus(ReceiveMessageAction操作,字典值)
{
...
}
解决方案:
[1]
[2]
private void receivesmessagestatus(ReceiveMessageAction操作,字典值)
{
...
}
您可以使用lambda进行类型安全操作,而无需强制转换:
Invoke(new MethodInvoker(
() => ReceivesMessagesStatus(ReceiveMessageAction.Notification, messagesForNotification)
));
您可以使用lambda执行类型安全操作,而无需强制转换:
Invoke(new MethodInvoker(
() => ReceivesMessagesStatus(ReceiveMessageAction.Notification, messagesForNotification)
));
你能详细说明一下吗?你能详细说明一下吗?@伊曼纽尔:为什么不能?也许
值为(字典)
?@Emanuel:为什么不呢?可能值为(字典)
?
private void ReceiveMessagesStatus(ReceieveMessageAction action, object value)
{
var myDictionary = (Dictionary<int, List<string>>)value;
...
}
Invoke(new ThreadStatusCallback(ReceivesMessagesStatus), new object[] { ReceiveMessageAction.Notification, messagesForNotification } );
private void ReceivesMessagesStatus(ReceiveMessageAction action, Dictionary<int, List<string>> value)
{
...
}
Invoke(new MethodInvoker(
() => ReceivesMessagesStatus(ReceiveMessageAction.Notification, messagesForNotification)
));