Qualcuno potrebbe spiegare perché le proprietà di dipendenza sono dichiarate come statiche?Perché le proprietà di dipendenza sono "statiche"?
risposta
Il campo si dichiara come statica è solo l'identificatore di una proprietà di dipendenza, non il valore della proprietà . È condiviso tra tutte le istanze della classe e viene utilizzato per ottenere/impostare il valore della proprietà per ogni istanza.
Quando si dichiara una DependencyProperty
, si dichiara la definizione di quella proprietà, piuttosto che lo spazio di archiviazione per il valore della proprietà (come sarebbe il caso con la dichiarazione di proprietà regolare). Esiste solo una definizione della proprietà per l'intera classe - al contrario di una definizione per istanza della classe - e quindi è statica.
dove si trova allora lo spazio di archiviazione? – zinking
Qualsiasi oggetto con 'DependencyProperty' deriva dal tipo' DependencyObject'. Un'istanza di 'DependencyObject' include un sacchetto di proprietà - essenzialmente un dizionario di nome di proprietà mappato sul valore - e il valore di qualsiasi' DependencyProperty' impostato viene memorizzato in quel sacchetto. –
- 1. perché le costanti java sono dichiarate statiche?
- 2. Perché le classi statiche sono sigillate?
- 3. Perché le proprietà statiche non sono accessibili da "->" ma accessibili da "::"?
- 4. Proprietà statiche nelle classi statiche
- 5. proprietà statiche php
- 6. Documentazione XML per le proprietà di dipendenza
- 7. le dipendenze di dipendenza non sono incluse
- 8. Le variabili java enum sono statiche?
- 9. Eredità e proprietà statiche
- 10. Override di una funzione senza rimuovere le proprietà statiche
- 11. Collegamento a proprietà statiche
- 12. Errore proprietà dipendenza
- 13. MVVM + UserControl + proprietà di dipendenza
- 14. Quando dovrei usare le proprietà di dipendenza in WPF?
- 15. Perché le proprietà non sono dichiarabili nelle interfacce
- 16. Le variabili statiche di ASP.NET C# sono globali?
- 17. Perché JSON.stringify non visualizza le proprietà dell'oggetto che sono funzioni?
- 18. Proprietà dipendenza in app.xaml.cs
- 19. Sovrascrivi/estendi le proprietà statiche sulle classi ES7 in React.js
- 20. Ottieni proprietà statiche tramite stringa
- 21. proprietà statiche in C# 6
- 22. Proprietà dipendenza Utilizza in WPF
- 23. Perché sono autorizzato a modificare le proprietà che sono di sola lettura con gli inizializzatori dell'oggetto?
- 24. Come funzionano le proprietà statiche in un ambiente asp.net?
- 25. Le proprietà C# sono in realtà metodi?
- 26. Conversione di proprietà normali in proprietà di dipendenza
- 27. Le costanti statiche della funzione in linea sono univoche?
- 28. Le variabili statiche sono inizializzate in un determinato thread?
- 29. Le variabili statiche della funzione sono thread-safe in GCC?
- 30. Le classi interne in enumerazione sono sempre statiche in Java?
Ho alcuni requisiti per rendere il DP come statico perché voglio condividerlo tra tutte le istanze. È possibile? –
@ RV1987, non ha proprio senso ... se vuoi farlo, non usare un DP, usa solo una proprietà CLR statica –
@ThomasLevesque: Seriamente non riesco a capire il significato o la giustificazione delle tue affermazioni stai cercando di dire. Sono novizio e non capisco le tue parole. Perché dovremmo impostare un valore per ogni istanza se è statica. Statico significa la sua unica volta invocazione per tutta la vita del programma giusto. – Learner