In Visual Studio 2008 Team System, ho appena eseguito Analisi codice (dal menu Analizza) in uno dei miei progetti C#. Una delle avvertenze prodotte è stata la seguente:C# campo protetto a privato, aggiungere proprietà - perché?
Microsoft.Design: Perché campo 'Connection._domain' è visibile al di fuori del suo tipo dichiarando, cambiare la sua accessibilità a privati e aggiungere una proprietà, con la stessa accessibilità come la campo ha attualmente, per fornire l'accesso ad esso.
E 'riferendosi al seguente campo:
public abstract class Connection
{
protected string _domain;
}
Non capisco il ragionamento dietro il suggerimento. Questo è ciò che penso che vuole che io faccia:
public abstract class Connection
{
private string _domain;
protected string Domain { get { return _domain; } set { _domain = value; } }
}
Due domande:
- Ho capito bene che cosa il suggerimento vuole che io faccia, il codice-saggio?
- Perché mi vuole fare questo?
Vedere anche http://stackoverflow.com/questions/1410645/are-public-fields-ever-ok, http://stackoverflow.com/questions/480627/why-wont-anyone-accept-public-fields -in-c, http://stackoverflow.com/questions/1277572/should-i-use-public-properties-and-private-fields-or-public-fields-for-data e molti altri (cercare 'pubblica campi). Tutti discutono i campi pubblici ma generalmente si applicano anche ai campi protetti. –