Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Un componente è una classe che implementa l'interfaccia System.ComponentModel.IComponent o che deriva direttamente o indirettamente da una classe che implementa IComponent. Un componente .NET è un oggetto riutilizzabile, può interagire con altri oggetti e fornisce il controllo sulle risorse esterne e sul supporto in fase di progettazione.
Una funzionalità importante dei componenti è che sono progettabili, il che significa che una classe che è un componente può essere usata nell'ambiente di sviluppo integrato di Visual Studio. Un componente può essere aggiunto alla Toolbox, trascinato e rilasciato in una maschera e manipolato in un'area di progettazione. Il supporto della fase di progettazione di base per i componenti è integrato in .NET. Uno sviluppatore di componenti non deve eseguire operazioni aggiuntive per sfruttare le funzionalità della fase di progettazione di base.
Un controllo è simile a un componente, poiché entrambi sono progettabili. Tuttavia, un controllo fornisce un'interfaccia utente, mentre un componente non lo fa. Un controllo deve derivare da una delle classi di controllo di base: Control o Control.
Quando creare un componente
Se la classe verrà usata in un'area di progettazione ,ad esempio Windows Form o Progettazione Web Form, ma non dispone di un'interfaccia utente, deve essere un componente e implementare IComponento derivare da una classe che implementa IComponentdirettamente o indirettamente .
Le Component classi e MarshalByValueComponent sono implementazioni di base dell'interfaccia IComponent . La differenza principale tra queste classi è che la Component classe è sottoposta a marshalling per riferimento, mentre IComponent è sottoposto a marshalling per valore. L'elenco seguente fornisce linee guida generali per gli implementatori.
Se il componente deve essere sottoposto a marshalling per riferimento, derivare da Component.
Se il componente deve essere sottoposto a marshalling per valore, derivare da MarshalByValueComponent.
Se il componente non può derivare da una delle implementazioni di base a causa di un'ereditarietà singola, implementare IComponent.
Classi componente
Lo System.ComponentModel spazio dei nomi fornisce classi usate per implementare il comportamento in fase di esecuzione e progettazione di componenti e controlli. Questo spazio dei nomi include le classi e le interfacce di base per l'implementazione di attributi e convertitori di tipi, l'associazione alle origini dati e i componenti di licenza.
Le classi di componenti principali sono:
Component. Implementazione di base per l'interfaccia IComponent . Questa classe abilita la condivisione di oggetti tra applicazioni.
MarshalByValueComponent. Implementazione di base per l'interfaccia IComponent .
Container. Implementazione di base per l'interfaccia IContainer . Questa classe incapsula zero o più componenti.
Alcune delle classi usate per le licenze dei componenti sono:
License. Classe base astratta per tutte le licenze. Una licenza viene concessa a un'istanza specifica di un componente.
LicenseManager. Fornisce proprietà e metodi per aggiungere una licenza a un componente e per gestire un oggetto LicenseProvider.
LicenseProvider. Classe base astratta per l'implementazione di un provider di licenze.
LicenseProviderAttribute. Specifica la LicenseProvider classe da utilizzare con una classe .
Classi comunemente usate per descrivere e rendere persistenti i componenti.
TypeDescriptor. Fornisce informazioni sulle caratteristiche di un componente, ad esempio gli attributi, le proprietà e gli eventi.
EventDescriptor. Fornisce informazioni su un evento.
PropertyDescriptor. Fornisce informazioni su una proprietà.
Sezioni correlate
Risoluzione dei problemi relativi alla creazione di controlli e componenti
Viene illustrato come risolvere i problemi comuni.