45
Chương 1: Phát triển ứng dụng
Các lớp
Debug
và
Trace
thuộc không gian tên
System.Diagnostics
sử dụng đặc
tính
ConditionalAttribute
trong nhiều phương thức của chúng. Các phương
thức của lớp
Debug
tùy thuộc vào việc định nghĩa ký hiệu
DEBUG
, còn các phương
thức của lớp
Trace
tùy thuộc vào việc định nghĩa ký hiệu
TRACE
.
7.
7.
Truy xu t m t ph n t ch
ng trình
ấ ộ
ầ ử ươ
Truy xu t m t ph n t ch
ng trình
ấ ộ
ầ ử ươ
có tên trùng v i m t t khóa
ớ ộ ừ
có tên trùng v i m t t khóa
ớ ộ ừ
Bạn cần truy xuất một thành viên của một kiểu, nhưng tên kiểu hoặc tên thành
viên này trùng với một từ khóa của C#.
Đặt ký hiệu
@
vào trước các tên trùng với từ khóa.
.NET Framework cho phép bạn sử dụng các thành phần phần mềm (software component)
được phát triển bằng các ngôn ngữ .NET khác bên trong ứng dụng C# của bạn. Mỗi ngôn ngữ
đều có một tập từ khóa (hoặc từ dành riêng) cho nó và có các hạn chế khác nhau đối với các
tên mà lập trình viên có thể gán cho các phần tử chương trình như kiểu, thành viên, và biến.
Do đó, có khả năng một thành phần được phát triển trong một ngôn ngữ khác tình cờ sử dụng
một từ khóa của C# để đặt tên cho một phần tử nào đó. Ký hiệu
@
cho phép bạn sử dụng một
từ khóa của C# làm định danh và khắc phục việc đụng độ tên. Đoạn mã sau tạo một đối tượng
kiểu
operator
và thiết lập thuộc tính
volatile
của nó là
true
(cả
operator
và
volatile
đều là
từ khóa của C#):
// Tạo đối tượng operator.
@operator Operator1 = new @operator();
// Thiết lập thuộc tính volatile của operator.
Operator1.@volatile = true;
8.
8.
T o và qu n lý c p khóa tên m nh
ạ
ả
ặ
ạ
T o và qu n lý c p khóa tên m nh
ạ
ả
ặ
ạ
Bạn cần tạo một cặp khóa công khai và khóa riêng (public key và private key) để
gán tên mạnh cho assembly.
Sử dụng công cụ Strong Name (sn.exe) để tạo cặp khóa và lưu trữ chúng trong
một file hoặc trong một kho chứa khóa Cryptographic Service Provider.
Cryptographic Service Provider (CSP) là một phần tử của Win32 CryptoAPI, cung
cấp các dịch vụ như mật hóa, giải mật hóa và tạo chữ ký số. CSP còn cung cấp
các tiện ích cho kho chứa khóa (key container) như sử dụng giải thuật mật hóa
mạnh và các biện pháp bảo mật của hệ điều hành để bảo vệ nội dung của kho
chứa khóa. CSP và CryptoAPI không được đề cập đầy đủ trong quyển sách này,
bạn hãy tham khảo thêm trong tài liệu SDK.
Để tạo một cặp khóa mới và lưu trữ chúng trong file có tên là MyKey.snk, thực thi lệnh
sn –k
MyKey.snk
(phần mở rộng .snk thường được sử dụng cho các file chứa khóa tên mạnh). File