微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

帮助修复C#中的错误“引用或失败参数必须是可赋值的”

以下是我遇到错误的一段代码

public static bool Flash(Form form) { return (Win2000OrLater && FlashWindowEx(ref Create_FLASHWINFO(form.Handle,15,uint.MaxValue,0))); //A ref or out argument must be an assignable variable } public static bool Flash(Form form,uint count) { return (Win2000OrLater && FlashWindowEx(ref Create_FLASHWINFO(form.Handle,3,count,0))); //A ref or out argument must be an assignable variable } private static extern bool FlashWindowEx(ref FLASHWINFO pwfi); public static bool Start(Form form) { return (Win2000OrLater && FlashWindowEx(ref Create_FLASHWINFO(form.Handle,0))); //A ref or out argument must be an assignable variable } public static bool Stop(Form form) { return (Win2000OrLater && FlashWindowEx(ref Create_FLASHWINFO(form.Handle,0))); //A ref or out argument must be an assignable variable } private static bool Win2000OrLater { get { return (Environment.Osversion.Version.Major >= 5); } }

错误消息是:

裁判或失败论据必须是可转让的

Environment.FailFast在C#应用程序

我们可以在我们的安装包中捆绑mono吗?

从Mac和Windows PC使用.Net Web应用程序收集系统信息

Visual Studio 2010 .Net项目可以在Linux下用MonoDevelop编译吗?

在非.NET应用程序中引发SEHException

顶架服务崩溃

如何在一个应用程序中透明地将多个.Net版本定位到用户

在System.Windows.Forms.RichTextBox中禁用绘制VScrollbar

从stringType.GetType(string)与Type.AssemblyQualifiedname和Type.FullName获取System.Type实例

为什么System.Windows.MessageBoxImage具有相同值的枚举子项?

关于你的第一个错误,你需要将FlashWindow作为一个变量来引入

这个:

public static bool Flash(Form form) { return (Win2000OrLater && FlashWindowEx(ref Create_FLASHWINFO(form.Handle,0))); //A ref or out argument must be an assignable variable }

变为:

public static bool Flash(Form form) { if (Win2000OrLater) { FLASHWINFO fi = Create_FLASHWINFO(form.Handle,0); return (FlashWindowEx(ref fi)); } return false; }

你需要一个可分配的变量参考或出参数。

FLASHWINFO fwi = Create_FLASHWINFO(form.Handle,0); FlashWindowEx(ref fwi);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐