Tôi đang phát triển thư viện kiểu tuân thủ CLS và tôi có một lớp bên trong Thư viện, chứa các trường và thuộc tính riêng tư, được bảo vệ và công khai. Tôi sử dụng ký hiệu gạch dưới (_) làm tiền tố cho các trường riêng tư hoặc được bảo vệ và chữ cái đầu tiên để phân biệt chúng với các thuộc tính có cùng tên. Nó trông giống như vậy:Quy ước đặt tên tuân thủ CLS phù hợp cho các trường được bảo vệ là gì?
class SomeClass
{
private int _age; //Here is OK
public int Age { get { return this._get; } }
}
Nhưng khi tôi cố gắng sử dụng các lĩnh vực bảo vệ tôi va chạm với một vấn đề tiếp theo:
class SomeClass
{
protected int _age; //Here is NOT CLS-compliant (because of _ can't be the first symbol of identifier)
public int Age { get { return this._get; } }
}
Sau đó, tôi cố gắng làm theo cách như vậy:
class SomeClass
{
protected int age; //Here is NOT CLS-compliant (because of age and Age differ only in one symbol)
public int Age { get { return this._get; } }
}
Hãy , cho tôi biết, ký hiệu hoặc quy ước phù hợp với CLS giữa các nhà phát triển cho những trường hợp như thế nào? Tôi có sử dụng tiền tố theo kiểu C như l_age không?
Mmm ... Làm gì với sự kiện? – Vasya
@ Praetor12 những gì * về * sự kiện? những gì hiện các lớp học có nguồn gốc cần truy cập vào các lĩnh vực cho có? Có lẽ thêm một ví dụ cụ thể liên quan đến sự kiện? –
Vâng. Lớp cơ sở có một sự kiện, được gọi bằng các phương thức lớp dẫn xuất. Đối với cơ chế như vậy tôi đã làm như vậy: bảo vệ EventHandler _stateChanged; sự kiện công khai EventHandler StateChanged; { thêm {lock (this.StateChanged) {this._stateChanged + = value; }} xóa {lock (this.StateChanged) {this._stateChanged - = value; }} } –
Vasya