Как разобрать часть кода скрипта в C #? - PullRequest
0 голосов
/ 06 июля 2018

У меня есть задача создать пользовательский интерфейс для запуска методов из сценариев. Я сделал метод, который показывает имена методов из скрипта, и в пользовательском интерфейсе есть флажок рядом с ними. У меня есть проблема, что, когда я нажимаю на флажок, я не знаю, чтобы пригласить только кусочки кода этого метода.

        private void GetAllDSCConfigurationName(string psFile, DSCTreeViewItemFolder item)
    {
        var file = new DSCTreeViewItemScipt() { Script = psFile };
        item.AddChild(file);

        try
        {
            using (StreamReader sr = new StreamReader(psFile))
            {

                string line;
                while ((line = sr.ReadLine()) != null)
                {
                    if (line.StartsWith("Configuration"))
                    {
                        file.AddChild(new DSCTreeViewItemConfiguration() { ConfigurationName = line });
                    }
                }
            }
        }

        catch (Exception e)
        {
            Console.WriteLine("The file could not be read:");
            Console.WriteLine(e.Message);
        }
    }

1 Ответ

0 голосов
/ 06 июля 2018

Вы можете проверить в том же операторе if:

if(line.StartsWith("Configuration") && line.Contains("LogOff"))
{
     // do your stuff
     break; // cause you don't need to look for other methods
}

Если у вас есть имя вашего метода из пользовательского интерфейса, вы можете передать его в метод Contains. Также вы можете немного улучшить свой код:

string allLines = sr.ReadToEnd();
string configurations = allLines.Split("Configuration");
string methodToCall = configurations.FirstOrDefault(conf => conf.Contains("LogOff")); // or you can pass name of your method from parameter
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...