1. Expression
2. (,) Một kiểu khai báo khá dị:
Khai báo:
(int, string, float) x = (1, 'Hello", 3.5);
Truy cập:
x.Item1, x.Item2, x.Item3
3. Cách mà Blazor có thể chạy cả Server, Client 1 lúc
Khi tạo project, tích vào hosted, bình thường web khác sẽ sử dụng ajax dể send request, sau đó server trả về, render lại cả trang, nhưng Blazor sử dụn SignalR, chỉ render lại cái đoạn đc thay đổi, sử dụng dom để làm điều đó,
- WebAssesmbly: Api được lưu ở máy khách luôn, 2 cái chạy cùng 1 server
nôm na là 1 cái vừa giao diện, vừa api, 1 cái thì lấy api từ nơi khác về
Cái Wasm sẽ có nhiều rủi ro hơn so với cái server kia, nhược điểm của nó sẽ là load lần đầu lâu vì nó phải tải api, nhưng đc cái là sau khi load thì chạy ngon, nhanh
Còn cái kia thì ngược lại
Câu hỏi thường gặp về Blazor - Github
ASP.NET Core Blazor hosting models
4. Delegate
Delegate (hàm ủy quyền) là một kiểu dữ liệu, nó dùng để tham chiếu (trỏ đến) đến các hàm (phương thức) có tham số và kiểu trả về phù hợp với khai báo kiểu
Ví dụ:
using System;
namespace CS008_Anonymous
{
public class Logs
{
// Khai báo một delegate
public delegate void ShowLog(string message);
// Phương thức tương đồng với ShowLog (tham số, kiểu trả về)
static public void Info(string s)
{
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine(string.Format("Info: {0}", s));
Console.ResetColor();
}
// Phương thức tương đồng với ShowLog (tham số, kiểu trả về)
static public void Warning(string s)
{
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine(string.Format("Waring: {0}", s));
Console.ResetColor();
}
public static void TestShowLog()
{
ShowLog showLog;
showLog = Info; // showLog gán bằng phương thức Info
showLog("Thông báo"); // Thi hành delegate chính là thi hành Info
showLog = Warning; // showLog gán bằng phương thức Warning
showLog("Thông báo"); // Thi hành delegate chính là thi hành Info
}
}
}
5. Blazor component
Trong Blazor có 1 khái niệm là EventCallback
- Khi một phương thức được gọi từ EventCallBack
Khác với cái Delegate Action
Ví dụ, cái multiple of two sử dụng Action
Thỉnh thoảng method được gọi từ EventCallback là bất đồng bộ (Async), nhưng đôi khi là đồng bộ, trong 2 trường hợp đó thì sử dụng hàm như sau:
//bất Đồng bộ, có Task
public Task SomethingHappenedInChildComponent(string value)
{
// Do something with value
return Task.CompletedTask;
}
//Đồng bộ - void
public void SomethingHappenedInChildComponent(string value)
{
// Do something with value
}
Tags: