【发布时间】:2014-05-05 15:43:52
【问题描述】:
我有一个方法要调用。
public void RecordConversation(ref ChannelResource cr)
{
VoiceResource RecordResource = TServer.GetVoiceResource();
RecordResource.MaximumTime = 6000;
RecordResource.MaximumSilence = 6000;
RecordResource.TerminationDigits = "";
}
在线程中调用它
Thread recordThread = new Thread(() => RecordConversation(ref ChanResource));
recordThread.Start();
我们当然会得到一个错误。
不能在匿名方法、lambda 表达式或查询表达式中使用 ref 或 out 参数“ChanResource”
如何解决?
【问题讨论】:
-
为什么要使用
ref? -
对象很大,经常使用,不想传值类型。
-
这就是我害怕的;你应该阅读stackoverflow.com/a/8708674/870604。
-
价值与参考的更多信息:yoda.arachsys.com/csharp/parameters.html
-
如果“对象很大”是原因,否,你不必使用
ref(而且你并不知道其中的区别)跨度>
标签: c# multithreading lambda ref