Ono što ja znam možda nije ono što trebi treba, al' ajde...
U ranijim programskim jezicima (C++) klasa je imala članice (promenljive) i funkcije članice (koji su jel'te funkcije). U C# odgovarajući pojam nije članica (member) nego polje (
field). Tako su odlučili, i tako im je. Polja nose vrednost, a funkcije rade nešto sa tim vrednostima. Vremenom se ukazala potreba da se i samim članicama pristupa kao da su funkcije. Recimo ima nešto što se zove
interfejs, i to je prosto skup funkcija koje klasa mora da implementira da bi mogla da kaže da implementira taj-i-taj interfejs. Polja ne mogu da budu deo interfejsa. Ono što može da bude deo interfejsa je par get/set funkcija za svako polje koje čitaju i upisuju nešto u dato polje. I to mu je to. Spoljni svet (kod izvan same klase) obično ne vidi to polje nego vidi svojstvo (
property), ali kod unutar tog svojstva se u najčešćem broju slučajeva oslanja na neko polje koje programer najčešće imenuje slično kao i samo svojstvo.