C# ref或out参数必须是可赋值变量?
错误: ref或out参数必须是可赋值变量 代码: 它显示了错误 this.WndProc(参考新消息()C# ref或out参数必须是可赋值变量?,c#,windows,winforms,ref,C#,Windows,Winforms,Ref,错误: ref或out参数必须是可赋值变量 代码: 它显示了错误 this.WndProc(参考新消息() 这个错误解释得很清楚。你需要一个可赋值的变量 protected override void OnHandleCreated(EventArgs e) { base.OnHandleCreated(e); var message = new Message() { HWnd = this.Handle, Msg = 4150,
这个错误解释得很清楚。你需要一个可赋值的变量
protected override void OnHandleCreated(EventArgs e)
{
base.OnHandleCreated(e);
var message = new Message()
{
HWnd = this.Handle,
Msg = 4150,
LParam = (IntPtr)43,
WParam = IntPtr.Zero
};
this.WndProc(ref message);
}
这个错误解释得很清楚。你需要一个可赋值的变量
protected override void OnHandleCreated(EventArgs e)
{
base.OnHandleCreated(e);
var message = new Message()
{
HWnd = this.Handle,
Msg = 4150,
LParam = (IntPtr)43,
WParam = IntPtr.Zero
};
this.WndProc(ref message);
}
ref参数不是可赋值变量。创建
消息
类的新实例和作为引用传递不应同时进行。调用方法应填充内存中的某个位置。调用中没有此类内容。这将编译:
var message = new Message()
{
HWnd = this.Handle,
Msg = 4150,
LParam = (IntPtr)43,
WParam = IntPtr.Zero
});
this.WndProc(ref message);
ref参数不是可赋值变量。创建
消息
类的新实例和作为引用传递不应同时进行。调用方法应填充内存中的某个位置。调用中没有此类内容。这将编译:
var message = new Message()
{
HWnd = this.Handle,
Msg = 4150,
LParam = (IntPtr)43,
WParam = IntPtr.Zero
});
this.WndProc(ref message);
是的。如果您像这样传递,则该方法不会更改任何内容!我如何解决此问题?创建消息()对象,然后将其发送给WndProc。@Dolubolu您可以将其分配给变量,但这可能是错误的。如果该方法采用
ref
参数,它会更改它-它说:如果您编写了该方法-修复它!如果否,请检查文档-可能您错了…是的。如果您这样传递,该方法将不会更改任何内容!我如何解决验证这个?首先创建一个Message()对象,然后将其发送给WndProc。@Dolubolu您可以将其分配给一个变量,但这可能是错误的。如果该方法使用ref
参数,它会更改它-它说:如果您编写了该方法-修复它!如果没有,请检查文档-可能是您错了。。。