对于这个noobish问题很抱歉,我的语法错了,我不明白为什么。
internal delegate void DoSomethingWithParam(MyObject localObjectToPassAsParam);
我用它:
myControl.BeginInvoke(new FinishAddingEntitiesToFolderDelegate(FunctionNameWithSignatureAsDelegate), localObjectToPassAsParam);
这将调用我的功能OK:
private void FunctionNameWithSignatureAsDelegate(MyObject localObjectToPassAsParam)
{
Logger.Debug(localObjectToPassAsParam);
}
这很好用,当我尝试使用匿名委托时,它不会编译。
我想在哪里放参数?
myControl.BeginInvoke((Action<MyObject >)(() =>
{
//I want to use my object here..
}));
答案 0 :(得分:0)
这样试过吗?
myControl.BeginInvoke((localObjectToPassAsParam)=>
{
// Your code here
}));
让localObjectToPassAsParam成为你对象的实例;-)请尝试告诉我,它是否在类型安全方面有效。