Как передать ссылку на переменную в конструктор класса? - C#
Формулировка задачи:
Нужно в класс передать ссылку на переменные f1 и f2, как бы привязать их к переменным flag_1,flag_2 класса myClass.
Вот код который по задумке должен работать а на деле компилятор ругается что я передаю в конструктор переменные, а нужно статичные передавать...
using System;
namespace console
{
public class myClass {
private bool flag_1;
private bool flag_2;
public myClass( bool a, bool b ){
this.flag_1 = a;
this.flag_2 = b;
}
public void out_msg(){
Console.WriteLine("a = " + ((flag_1)?"true":"false") +"\r\nb = "+((flag_2)?"true":"false") );
}
}
class Program
{
private bool f1=true;
private bool f2=false;
public static void Main(string[] args)
{
myClass class1 = new myClass(f1,f2);
class1.out_msg();
f1=false;
f2=true;
class1.out_msg();
Console.ReadKey(true);
}
}
}Решение задачи: «Как передать ссылку на переменную в конструктор класса?»
textual
Листинг программы
public class Flag
{
public bool flag;
}
public class myClass
{
private Flag flag_1;
private Flag flag_2;
public myClass(Flag a, Flag b)
{
this.flag_1 = a;
this.flag_2 = b;
}
public void out_msg()
{
Console.WriteLine("a = " + ((flag_1.flag) ? "true" : "false") + "\r\nb = " +
((flag_2.flag) ? "true" : "false"));
}
}
internal class Program
{
private static Flag f1 = new Flag() {flag = true};
private static Flag f2 = new Flag() {flag = false};
public static void Main(string[] args)
{
myClass class1 = new myClass(f1, f2);
class1.out_msg();
f1.flag = false;
f2.flag = true;
class1.out_msg();
Console.ReadKey(true);
}
}