C# : Đôi chút về từ khóa new
Trong C#, khi nhắc đến từ khóa new không chỉ là nói đến vai trò toán tử khởi tạo đối tượng mà còn xuất hiện trong Modifier và Constraint. 1 số ví dụ:
1. Toán tử new để khởi tạo đối tượng
class Person { public Person(){} } class Program { static void Main() { var person = new Person(); } }
2. Khai báo new modifier sẽ ẩn đi thành phần (method, property, subclass, var) được kế thừa từ base class
public class Person { public static int x = 123; } public class Teacher : Person { new public static int x = 456; }
3. new constraint áp đặt điều kiện 1 generic class bắt buộc phải có hàm tạo không tham số
class Factory where T : new() //new constraint { public T Create() { return new T(); //new operator } }