Intereting Posts
Как перетаскивать элемент «Вычитание делегатов имеет непредсказуемый результат» в ReSharper / C #? Сохранение панели в формате JPEG, сохранение только видимых областей c # LINQ to XML – Загрузка XML-fragmentов из файла Должен ли слой репозитория возвращать объекты передачи данных (DTO)? System.Net.Mail.SmtpException: для SMTP-сервера требуется безопасное соединение или клиент не прошел проверку подлинности Высота автоподстрочной линии объединенной ячейки в EPPlus Объединение коллекции объектов в строку с разделителями-запятыми Передача списков от IronPython до C # Как динамический может использоваться как общий? Как получить ответ от переговорщика Нэнси? Как сравнить значения enum и int? Сохранять приложение, даже если выполняется необработанное исключение Как поместить изображение в поле изображения из байта в C # Двусторонняя привязка в AvalonEdit не работает

Помощь в исправлении ошибок в C # “Аргумент ref или out должен быть назначаемым”

Вот блок кода, с которым у меня возникают ошибки:

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, 3, uint.MaxValue, 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, uint.MaxValue, 0))); //A ref or out argument must be an assignable variable } private static bool Win2000OrLater { get { return (Environment.OSVersion.Version.Major >= 5); } } 

Сообщение об ошибке:

Аргумент ref или out должен быть назначаемым

Что касается ваших первых ошибок, вам нужно ввести FlashWindow в качестве переменной, например,

Это:

 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) { if (Win2000OrLater) { FLASHWINFO fi = Create_FLASHWINFO(form.Handle, 15, uint.MaxValue, 0); return (FlashWindowEx(ref fi)); } return false; } 

Вам нужна назначаемая переменная для параметра ref или out.

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