Nella linea
colour = theColour;
il compilatore non può dire quello che vuoi dire. Potrebbe essere sia
private string colour;
o potrebbe essere
public string colour { get; set }
per disambiguare la scelta di una diversa convenzione di denominazione aiuta. Ad esempio, è possibile scegliere che le proprietà abbiano una prima lettera maiuscola e che i campi inizino con un trattino basso e una lettera minuscola. In questo caso, la classe avrà il seguente aspetto:
class Dog
{
private int _weight;
private string _colour;
public string Colour { get; set; }
public Dog(int theWeight, string theColour)
{
_weight = theWeight;
_colour = theColour;
}
}
Nota, tuttavia, probabilmente si ha comunque una duplicazione. È probabile che non fosse tua intenzione avere sia la proprietà automatica Colore che il campo _colore in primo luogo.
Puoi anche scegliere uno strumento che ti aiuti a seguire le linee guida consigliate. Ad esempio dare un'occhiata a FxCop. Non c'è giusto o sbagliato, ma è certamente più facile lavorare con regole generalmente accettate. (Il mio suggerimento di utilizzare i caratteri di sottolineatura per i campi non è in linea con ciò che è generalmente accettato.Tuttavia, non utilizzo campi pubblici.)
Cosa succede quando si utilizza una "C" maiuscola per la proprietà Colore? –