.NET 4.x Метод объекта как его свойство - C#
Формулировка задачи:
Создается экземпляр класса, у которого есть метод hl(). Нужно, чтобы для разных экземпляров у метода был разный код. Как реализовать, чтобы конструктор класса принимал код и присваивал его нашему методу?
Что-то вроде этого
class handler
{
string t { get; set; }
void hl()
{
}
public handler(string s, /*code*/)
{
t = s;
hl = /*code*/
}
}Решение задачи: «.NET 4.x Метод объекта как его свойство»
textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication7 {
class Program {
static void Main(string[] args) {
Test t1 = new Test(() => Console.WriteLine("Hello from Test 1!"));
Test t2 = new Test(() => Console.WriteLine("Hello from Test 2!"));
t1.Method();
t2.Method();
Console.ReadLine();
}
}
class Test {
Action _action = null;
public Test(Action a) {
_action = a;
}
public void Method() {
if (_action != null) {
_action();
}
}
}
}