Мой друг работал над запросом на извлечение проекта C #, но застрял в ошибке компилятора, поскольку сборка для изменения не удалась. Я проверил синтаксис, но был уверен, что он был правильным.
Для этой новой строки кода:
if (PreviewLink && Helpers.IsImageFile(path))
Компилятор пожаловался на следующее:
ошибка CS1525: недопустимый термин выражения '&&'
ошибка CS1002:; Ожидается,
ошибка CS1513:} ожидается
Изменение этого значения на следующее исправило проблему компиляции:
if ((PreviewLink) && (Helpers.IsImageFile(path)))
Я не понимаю, что здесь происходит, и ошибка компилятора из msbuild
не слишком полезна. Может ли кто-нибудь объяснить, почему первое выражение без скобок недопустимо? Чего мне не хватает?
Теперь некоторая справочная информация о самом коде. Оба выражения по обе стороны от оператора &&
являются bool
eans, см. Следующие две подписи:
public bool PreviewLink { get; set; }
// -- snip --
public static bool IsImageFile(string filePath)
Фактическое изменение, которое исправило проблему компиляции, можно найти здесь .
Это сборки AppVeyor для с ошибками и затем успешных фиксаций для изменения, связанного выше. Локальные сборки дали те же результаты.