1. Toán tử new (new Operator)
Toán tử new dùng để khởi tạo giá trị cho biến hoặc đối tượng.
Ví dụ:
public class MyClass
{
public class Customer
{
public string Name { get; set; }
public string Address { get; set; }
}
public void Test()
{
//Khởi tạo đối tượng object
object o = new object();
//Khởi tạo đối tượng danh sach khách hàng
List<Customer> customers = new List<Customer>();
//Khởi tạo một đối tượng có kiểu vô danh
var query = from cust in customers
select new { Name = cust.Name, Address = cust.Address };
}
}
Đối với các kiểu dữ liệu giá trị còn có thể dùng toán tử new để khởi tạo giá trị.
Ví dụ:
//2 câu lệnh dưới đây tương đương nhau
int a = new int();
int a = 0;
2. Bổ nghĩa new (new Modifier)
Khi là bổ nghĩa, từ khoá new sẽ ẩn thành viên của lớp cơ sở (lớp được kế thừa). và tạo một thành viên với thay thế thành viên của lớp cơ sở.
Tức là, để có thể nạp chồng (ghi đè) phương thức không phải là abstract, override, virtual ta có thể dùng toán tử new.
Ví dụ:
public class X
{
public string Name()
{
return "Class X";
}
}
public class Y : X
{
public new string Name()
{
return "Class Y";
}
}
public class TestNew
{
static void Main()
{
X o1 = new X();
Y o2 = new Y();
Console.WriteLine(o1.Name()); //Kết quả là Class X
Console.WriteLine(o2.Name()); //Kết quả là Class Y
}
}
3. Rằng buộc (new Constraint)
Chi tiết tham khảo thêm MSDN
Ví dụ:
class Test
{
public class GenericClass
{
public T DefaultValue
{
get
{
return new T();
}
}
}
static void
{
GenericClass<int> Test = new GenericClass<int>();
Console.WriteLine(Test.DefaultValue.ToString());
Console.ReadLine();
}
}
Không có nhận xét nào:
Đăng nhận xét