【发布时间】:2011-07-05 19:04:27
【问题描述】:
public virtual IAsyncResult BeginProcessRequest(RequestContext context, AsyncCallback callback, object state)
{
return this.process.BeginInvoke(**ref context**, callback, state);
}
public virtual RequestContext EndProcessRequest(IAsyncResult result)
{
RequestContext context = null;
this.process.EndInvoke(**ref context**, result);
return context;
}
上述两种方法在我的项目中引起了一些警告。我不确定我是否理解他们。警告是:
参数是'ref',而参数被声明为'value'
并且警告的位置是 Invoke 调用中的第一个参数(上下文)。有没有人认为这有什么问题或对这个问题有什么建议?
那些双星号是警告的原因。我在编辑器上点击了“粗体”,它做到了,所以我就跟着它去了。星号不在我的代码中。
【问题讨论】:
-
这没什么大不了的,我仍然可以编译,这似乎不是问题,但我真的很讨厌“未知数”:)
-
process的类型是什么? -
进程为:delegate void Microsoft.ServiceModel.Web.Process(ref RequestContext context)
-
@J 本杰明:嗯。这听起来像一个非常丑陋的代表签名......
-
好吧,幸运的是我不能声称这是我自己的创作。 :) 混淆是正确的......我总是在这里告诉团队,“为你的程序员同事编程”......并不总是发生
标签: c# resharper ref performance