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
Proprietà pubblica Value determina il valore di questo Variant oggetto.
Proprietà pubblica Vt determina il tipo di Variant oggetto.

In alto

Metodi

  Nome Descrizione
Metodo pubblico Equals Indica se questa istanza e un oggetto specificato sono uguali. (Ereditato da ValueType)
Metodo pubblico GetHashCode Restituisce il codice hash per l'istanza. (Ereditato da ValueType)
Metodo pubblico GetType Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object)
Metodo pubblico ToChar interpreta Variant il valore dell'oggetto come carattere unicode se il tipo di variant è VT_UI2.
Metodo pubblico ToString Restituisce il nome completo del tipo di questa istanza. (Ereditato da ValueType)
Metodo pubblicoMembro statico 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.

Vedere anche

Riferimenti

Spazio dei nomi Microsoft.VisualStudio.Package