Как включать символ вертикальной черты в аргумент пакетному файлу из сценария удара?

Добро пожаловать в Stackoverflow. Пожалуйста, внимательно прочитайте ваш код. В методе Main вы создаете новый объект Movie (назовем его movieA) и добавляем новый объект Show в movieA. В классе Access вы не используете MovieA, но вы снова создаете новый объект Movie. Если вы хотите получить доступ к Movie, созданному в методе Main, в классе Access, вы должны передать его туда.

public static void Main(string[] args)
{

    // create new object of Show type
    Show s = new Show(153, 258, 391);

    Movie movieA = new Movie();

    // add object to List
    movieA.Shows.Add(s);

    // The output gives me 153, which is correct
    Console.WriteLine(movieA.Shows.ElementAt(0).ShowID);

    var access = new Access();
    access.MyMethod(movieA);
}

public class Access
{
   public void MyMethod(Movie movie)
   {
       // this should work
       Console.WriteLine(movie.Shows.ElementAt(0).ShowID);
   }
}
7
задан Owen 20 February 2009 в 21:29
поделиться

2 ответа

Это - классический случай двойного выхода, где и удар и CMD.EXE должны быть проинструктированы для игнорирования специального предложения | (канал) символ.

Попробуйте следующее:

$command $args "qt.sln" /BUILD '"Debug|Win32"'

Это будет эквивалентом Вас ввод при подсказке CMD.EXE:

qtvars.bat vsstart qt.sln /BUILD "Debug|Win32"

Используя вышеупомянутое, Вы по существу вызываете передачу двойных кавычек на CMD.EXE (вместо удара, съедающего их.) Наиболее удаленные одинарные кавычки дают удару команду не интерпретировать или касаться всегда, что в них; внутренние двойные кавычки дают команду CMD.EXE игнорировать любые специальные символы (канал в этом случае) в.

С другой стороны, можно также попробовать:

$command $args "qt.sln" /BUILD 'Debug\|Win32'

Это должно быть эквивалентом Вас ввод при подсказке CMD.EXE:

qtvars.bat vsstart qt.sln /BUILD Debug\|Win32

Отметьте использование одинарных кавычек (!), которые гарантируют, что удар не интерпретирует \(и, вместо этого, передаст его как есть CMD.EXE.)

3
ответ дан 6 December 2019 в 19:42
поделиться

Интересный! Что делает выход | ?

Они работают?

  • эхо "Debug|Win32"
  • отзовитесь эхом "qt.sln" / СОЗДАЮТ 'Debug|Win32'
0
ответ дан 6 December 2019 в 19:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: