Thuộc tính(properties): Để định nghĩa thuộc tính trongC# bạn dùng cú pháp sau: public string SomeProperty { get { return "This is the property value"; } set { // do whatever needs to be done to set the property } } Có sự hạn chế thông thường ở đây là: Thủ tục get không có tham số và phải trả về cùng kiểu với thuộc tính đã được khai báo. Bạn không nên khai báo tường minh các tham số trong thủ tục set, mà trình biên dịch sẽ tự động biết là có một tham số cùng kiểu trỏ đến giá trị. Cho một ví dụ, đoạn mã sau chứa một thuộc tính gọi là ForeName, nó sẽ cài một trường foreName có chiều dài giới hạn: private string foreName; public string ForeName { get { return foreName; } set { if (value.Length > 20) // code here to take error recovery action // (eg. throw an exception) else foreName = value; } } Khác với VB các thủ tục get và set được định nghĩa như là những hàm riêng biệt, trongC# chúng được khai báo cùng nhau trong một khai báo thuộc tính đơn.Trong VB bạn khai báo tường minh tham số cho thủ tục set và có thể chọn tên của nó, nhưng ngược lại trongC# tham số này hoàn toàn giả lập và luôn mang tên là value. Thuộc tính chỉ đọc và chỉ viết: Bạn có thể tạo ra thuộc tính chỉ đọc bằng cách bỏ thủ tục set trong khai báo và tạo ra thuộc tính chỉ ghi bằng cách bỏ thủ tục get trong khai bao thuộc tính đó. Ví dụ để định nghĩa thuộc tính Forename là chỉ đọc: private string foreName; public string ForeName { get { return foreName; } } Bổ từ truy cập: C# không cho phép cài đặt những bổ từ khác nhau cho thủ tục set và get. Nếu bạn muốn tạo ra một thuộc tính có public để đọc nhưng lại muốn hạn chế protected trong gán thì đầu tiên bạn phải tạo thuộc tính chỉ đọc với bổ từ public sau đó tạo một hàm set() với bổ từ protected ở bên ngoài thuộc tính đó. public string ForeName { get { return foreName; } } protected void SetForeName(string value) { if (value.Length > 20) // code here to take error recovery action // (eg. throw an exception) else foreName = value; } Thuộc tính Virtual và Abstract: C# cho phép bạn tạo một thuộc tính virtual hay abstract. Để khai báo một thuộc tính virtual, overriden hay abstract bạn chỉ cần thêm từ khoá đó trong lúc định nghĩa thuộc tính. Ví dụ để tạo một thuộc tính abstract thì cú pháp như sau: public abstract string ForeName { get; set; } . định nghĩa như là những hàm riêng biệt, trong C# chúng được khai báo cùng nhau trong một khai báo thuộc tính đơn .Trong VB bạn khai báo tường minh tham số. Thuộc tính(properties): Để định nghĩa thuộc tính trong C# bạn dùng cú pháp sau: public string SomeProperty { get { return "This