Столкнулся с проблемой не могу понять,как решить, вот, что есть:
public class Info
{
public delegate string Method(int Value, string Name);
public Method deleg;
public Method deleg_1;
public Info()
{
deleg = Quadratic_Equation;
deleg_1 = Quadratic_Equation;
deleg_1 += Cubic_Equation;
}
private string Quadratic_Equation(int a,string Name)
{
Console.WriteLine("1 метод");
return $"{Name} {a*a}";
}
private string Cubic_Equation(int a,string Name)
{
Console.WriteLine("2 метод");
return $"{Name} {Math.Pow(a,3)}";
}
}
Вызываю так:
Info info = new Info();
Console.WriteLine(info.deleg(3,"Уравнение 1"));
Console.WriteLine(info.deleg_1(3,"Уравнение 2"));
Console.ReadKey();
Как правильно вызвать делегат deleg_1
, если как я Console.WriteLine(info.deleg_1(3,"Уравнение 2"));
То выводит данные только последнего метода, который прикрепил к делегату, как сделать правильно, что бы выводило данные из 1 и 2 метода, прикрепленного к делегату?(
Чтобы Console.WriteLine
два раза отработала её надо два раза вызывать.
deleg_1
в данном случае массив с двумя значениями. Чтобы Console.WriteLine
два раза вызвалось надо включить его в обработку этого массива. Например, передать как аргумент:
public class Info
{
public delegate void Method(int Value, string Name, Action<string> processResult);
public Method deleg;
public Method deleg_1;
public Info()
{
deleg = Quadratic_Equation;
deleg_1 = Quadratic_Equation;
deleg_1 += Cubic_Equation;
}
private void Quadratic_Equation(int a, string Name, Action<string> processResult)
{
Console.WriteLine("1 метод");
var result = $"{Name} {a * a}";
processResult(result);
}
private void Cubic_Equation(int a, string Name, Action<string> processResult)
{
Console.WriteLine("2 метод");
var result = $"{Name} {Math.Pow(a, 3)}";
processResult(result);
}
}
class Program
{
static void Main(string[] args)
{
Info info = new Info();
info.deleg(3, "Уравнение 1", Console.WriteLine);
info.deleg_1(3, "Уравнение 2", Console.WriteLine);
Console.ReadKey();
}
}
Результат:
1 метод
Уравнение 1 9
1 метод
Уравнение 2 9
2 метод
Уравнение 2 27
Виртуальный выделенный сервер (VDS) становится отличным выбором
когда делаю migrations выдаёт ошибку:
Всем привет, мне нужно сделать лог вставки в базу данных и сохранить этот лог в файлНаведите пожалуйста пример или документацию ибо я не нашел