By GokiSoft.com|
14:51 29/05/2020|
C Sharp
[Share Code] Hướng dẫn tìm hiểu delegate + event trong C# - Lập Trình C3 - Lập Trình C Sharp
[Share Code] Hướng dẫn tìm hiểu delegate + event trong C# - Lập Trình C3 - Lập Trình C Sharp
#Program.cs
using System;
using System.Collections.Generic;
namespace Lession7
{
public delegate float Calculator(float x, float y);
public delegate void OnPressed();
class Program
{
static event OnPressed onPressed;
static void Main(string[] args)
{
float total = Add(3, 8);
Console.WriteLine("Tong: {0}", total);
//delegate
Calculator cAdd = new Calculator(Add);
float r = cAdd(6, 8);
Console.WriteLine("(Calculator) Tong: {0}", r);
//Su dung delegate quan ly mang cac function -> TH su dung 1 mang.
List<Calculator> list = new List<Calculator>();
list.Add(new Calculator(Add));
list.Add(new Calculator(Sub));
list.Add(new Calculator(Add));
Calculator c1 = (x, y) => {
return x * y;
};
Calculator c2 = (float x, float y) => {
return x / y;
};
list.Add(c1);
list.Add(c2);
foreach(Calculator c in list) {
float test = c(6, 8);
Console.WriteLine("(Calculator) Tong: {0}", test);
}
//su dung 1 delegate Calculator => quan ly danh sach function
Calculator calculator = new Calculator(Add);
calculator += Sub;
calculator += (x, y) =>
{
Console.WriteLine("Mul...");
return x * y;
};
calculator += (x, y) =>
{
Console.WriteLine("De...");
return x / y;
};
Console.WriteLine("Test ===> 2");
float k = calculator(2, 6);
Console.WriteLine("(Calculator) Tong k: {0}", k);
//Events - Gia lap khi click vao button => show message => Hello
onPressed += new OnPressed(ShowMessage);
onPressed();
}
static void ShowMessage() {
Console.WriteLine("Hello World!!!");
}
static float Add(float x, float y) {
Console.WriteLine("Add...");
return x + y;
}
static float Sub(float x, float y) {
Console.WriteLine("Sub...");
return x - y;
}
}
}
Tags:
Phản hồi từ học viên
5
(Dựa trên đánh giá ngày hôm nay)