我现在正在查看一些C#代码,我想确认一下我对它应该如何工作的理解是否正确。
这与传递System.ServiceModel.Channels.Message有关。每个接受Message对象的方法都有类似于以下的方法签名:
void SomeMethod(ref Message message) { ... }
我不理解的是为什么要加入 "ref" 关键字。据我了解,如果该方法不会完全替换对象,则不需要使用它。
void SomeMethod(ref Message message)
{
message = new Message();
}
但是,如果消息仅向标头添加其他内容或仅从对象中读取值,则不需要使用 "ref" 关键字,因为消息是引用类型。
void SomeMethod(Message message)
{
message.Headers.Add("Some Data"); // This should be fine?
}
干杯
ref
参数并不明显。也许一些额外的上下文会有所帮助。 - Jon