2011-09-22 9 views

risposta

7

Il primo è una proprietà reale. Il secondo è solo un campo.

In generale, i campi devono essere mantenuti private e sono i dati effettivi del negozio. Le proprietà non memorizzano alcun dato, ma indicano i campi. Nel caso della proprietà auto sopra, genererà automaticamente un campo nascosto come _city dietro le quinte per conservare i dati.

Spero che questo aiuti!

1

Il primo è la proprietà CLR, mentre il secondo è solo campo pubblico (non una proprietà).

In WPF e Silverlight, l'associazione non funziona con i campi pubblici, funziona solo con proprietà pubbliche. Questa è una delle principali differenze a mio parere:

//<!--Assume Field is a public field, and Property is a public property--> 
<TextBlock Text="{Binding Field}"/> 
<TextBlock Text="{Binding Property}"/> 

Primo, non funzionava, ma il secondo funzionava.

0

come diceva mellamokb. Il primo tipo è immobile, il compilatore di generare automaticamente la funzione di accesso e il campo privato come:

private String _city; 
public String City(){ return _city ;} 
..... 

Proprietà uso, è possibile controllare l'accesso dei _city, ad esempio"

public String City(){ 
doXxxFunction(); 
return _city ; 
} 

così, deve sempre utilizzare la proprietà e assicurarsi che tutto il campo sia privato

Problemi correlati