Struttura Variant
Rappresenta un oggetto che può essere interpretato nel modo più di un tipo.
Questa API non è conforme a CLS. L'alternativa conforme a CLS è [None].
Spazio dei nomi: Microsoft.VisualStudio.Package
Assembly: Microsoft.VisualStudio.Package.LanguageService.9.0 (in Microsoft.VisualStudio.Package.LanguageService.9.0.dll)
Microsoft.VisualStudio.Package.LanguageService.11.0 (in Microsoft.VisualStudio.Package.LanguageService.11.0.dll)
Microsoft.VisualStudio.Package.LanguageService (in Microsoft.VisualStudio.Package.LanguageService.dll)
Microsoft.VisualStudio.Package.LanguageService.10.0 (in Microsoft.VisualStudio.Package.LanguageService.10.0.dll)
Sintassi
'Dichiarazione
<CLSCompliantAttribute(False)> _
Public Structure Variant
[CLSCompliantAttribute(false)]
public struct Variant
Il tipo Variant espone i seguenti membri.
Proprietà
Nome | Descrizione | |
---|---|---|
![]() |
Value | determina il valore di questo Variant oggetto. |
![]() |
Vt | determina il tipo di Variant oggetto. |
In alto
Metodi
Nome | Descrizione | |
---|---|---|
![]() |
Equals | Indica se questa istanza e un oggetto specificato sono uguali. (Ereditato da ValueType) |
![]() |
GetHashCode | Restituisce il codice hash per l'istanza. (Ereditato da ValueType) |
![]() |
GetType | Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) |
![]() |
ToChar | interpreta Variant il valore dell'oggetto come carattere unicode se il tipo di variant è VT_UI2. |
![]() |
ToString | Restituisce il nome completo del tipo di questa istanza. (Ereditato da ValueType) |
![]() ![]() |
ToVariant | Converte l'oggetto variant specificato a Variant oggetto della classe. |
In alto
Note
Questa versione della struttura variabile è specifica delle classi gestite del servizio di linguaggio del framework (MPF) del pacchetto ed è progettata principalmente per convertire un variant a un carattere.In particolare, se il variant è il tipo VT_UI2, l'oggetto variant viene convertito in un carattere.
Questa struttura viene effettivamente utilizzata in una sola posizione nelle classi del servizio di linguaggio di MPF, HandlePreExec metodo di ViewFilter classe.Questa struttura viene utilizzata per convertire il variant in ingresso a un carattere se il tipo di comando è TYPECHAR.
Note per gli implementatori
Si tratta di una struttura limitata ed esiste alcuna operazione eseguire l'override.
Note per i chiamanti
Si tratta di una struttura e può essere considerata come tipo di variabile.È limitato la funzionalità, principalmente progettata per la conversione da un oggetto variant a un carattere.
Esempi
In questo esempio viene illustrato come il MPF ViewFilter la classe utilizza questa Variant struttura per convertire un oggetto variant in ingresso a un carattere.
namespace Microsoft.VisualStudio.Package
{
[CLSCompliant(false)]
[System.Runtime.InteropServices.ComVisible(true)]
public class ViewFilter
: IVsTextViewFilter
, IVsTextViewEvents
, IOleCommandTarget
, IDisposable
{
public virtual void HandlePostExec(ref Guid guidCmdGroup,
uint nCmdId,
uint nCmdexecopt,
IntPtr pvaIn,
IntPtr pvaOut)
{
if (guidCmdGroup == VsMenus.guidStandardCommandSet2K) {
VsCommands2K cmd = (VsCommands2K)nCmdId;
char ch = '\0';
if (cmd == VsCommands2K.TYPECHAR && pvaIn != IntPtr.Zero) {
Variant v = Variant.ToVariant(pvaIn);
ch = v.ToChar();
// Do something with the character
}
}
}
}
}
Codice thread safe
Qualsiasi membro static (Shared in Visual Basic) pubblico di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.