У меня есть программа, которая работает до тех пор, пока логическое значение running
истинно. В приведенном ниже примере я пытаюсь передать переменную running
по ссылке на другой объект и изменить ее внутри объекта (в блоке else route_command
).
Класс программы:
class Program
{
public static bool running = true;
public static AesManaged aes = new AesManaged(); //default encryption key
public static Logger logger = new Logger();
public static Checker checker = new Checker(ref aes , ref running);
static void Main(string[] args)
{
logger.intro();
while (running == true) {
string command = Console.ReadLine();
checker.route_command(command);
}
}
}
}
класс проверки:
public class Checker
{
RijAlgo rij = new RijAlgo(); //encryption class
AesManaged aes;
bool running;
public Checker(ref AesManaged aes_parent, ref bool running_parent)
{
aes = aes_parent;
running = running_parent;
}
public void route_command(string command)
{
string[] command_params = command.Split(" ");
if (command_params.Length < 2)
{
Console.WriteLine("Please make sure you provide a second parameter");
}
else
{
running = false;
}
}
}