Kiểu vô danh C#

Kiểu vô danh (Anonymous Type) - là kiểu không có tên. C# cho phép bạn tạo ra các đối tượng kiểu vô danh bằng từ khóa new, cú pháp cơ bản để tạo ra đối tượng có kiểu vô danh như sau

var obj = new {
    thuoctinh1 = giatri1,
    thuoctinh2 = giatri2
}

Ví dụ: tạo đối tượng có 3 thuộc tính

var myProfile = new {
    name  = "XuanThuLab",
    age   = 20,
    skill = "ABC"
};

Để truy cập thuộc tính của toán tử vẫn dùng ký hiệu . và tên thuộc tính.

Console.WriteLine(myProfile.name);

Khi có đối tượng kiểu vô danh, nếu dùng nó truyền như tham số cho các phương thức - coi nó như các object có thể gây lỗi khi buil ứng dụng - trình biên dịch kiểm tra và báo lỗi. Để giải quyết vấn đề này có thể dùng đến khai báo kiểu dynamic

Kiểu động - dynamic

Biến kiểu động - ngầm định - khai báo với từ khóa dynamic, thì kiểu thực sự của biến đó được xác định bằng đối tượng gán vào ở thời điểm chạy (khác với kiểu ngầm định var kiểu xác định ngay thời điểm biên dịch)

dynamic myvar;
Ví dụ khai báo phương thức có sử dụng tham số kiểu dynamic
static void TestFunc(dynamic dvar) {
    Console.WriteLine(dvar.abc); // ở thời điểm biên dịch - không biết dvar có thuộc tính abc hay không, nhưng nó vẫn biên dịch
}

Với phương thức trên, ở thời điểm chạy mà đối tượng ở tham số có thuộc tính abc thì sẽ không lỗi, nếu không có thuộc tính abc sẽ sinh ngoại lệ.

var bien = new {
    abc = 123,
    a = "fff"
};
TestFunc(bien);
Đăng ký theo dõi ủng hộ kênh