Estoy desarrollando una biblioteca de tipos compatibles con CLS y tengo una clase dentro de It, que contiene campos y propiedades privadas, protegidas y públicas. Uso el símbolo de subrayado (_) como prefijo para campos privados o protegidos y la primera letra pequeña para distinguir sus propiedades de los mismos nombres. Se ve tan:¿Qué es una convención de nomenclatura correcta para CLS para campos protegidos?
class SomeClass
{
private int _age; //Here is OK
public int Age { get { return this._get; } }
}
Pero cuando trato de utilizar campos protegidos que chocan con el siguiente problema:
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; } }
}
Entonces traté de hacerlo de tal manera:
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; } }
}
favor , dime, ¿cuál es la notación o convención que cumple con CLS entre los desarrolladores para tales casos? ¿Tengo que usar prefijos en estilo C como l_age?
Mmm ... ¿Qué hacer con los eventos? – Vasya
@ Praetor12 ¿qué * sobre * eventos? ¿Para qué necesita acceder la clase derivada al campo para allí? ¿Quizás agregue un ejemplo específico relacionado con el evento? –
Sí lo es. La clase base tiene un evento, que se llama por métodos de clase derivada. Para dicho mecanismo lo hice: protegido EventHandler _stateChanged; evento público EventHandler StateChanged; { add {lock (this.StateChanged) {this._stateChanged + = value; }} remove {lock (this.StateChanged) {this._stateChanged - = value; }} } –
Vasya