Przeczytaj w języku angielskim

Udostępnij za pośrednictwem


Struktura Variant

Reprezentuje obiekt, który może być interpretowany jako więcej niż jeden typ.

Ten interfejs API nie jest zgodny ze specyfikacją CLS. Alternatywa zgodna ze specyfikacją CLS to [None].

Przestrzeń nazw:  Microsoft.VisualStudio.Package
Zestawy:   Microsoft.VisualStudio.Package.LanguageService.9.0 (w Microsoft.VisualStudio.Package.LanguageService.9.0.dll)
  Microsoft.VisualStudio.Package.LanguageService.11.0 (w Microsoft.VisualStudio.Package.LanguageService.11.0.dll)
  Microsoft.VisualStudio.Package.LanguageService (w Microsoft.VisualStudio.Package.LanguageService.dll)
  Microsoft.VisualStudio.Package.LanguageService.10.0 (w Microsoft.VisualStudio.Package.LanguageService.10.0.dll)

Składnia

[CLSCompliantAttribute(false)]
public struct Variant

Typ Variant uwidacznia następujące elementy członkowskie.

Właściwości

  Nazwa Opis
Właściwość publiczna Value Określa wartość to Variant obiektu.
Właściwość publiczna Vt Określa typ Variant obiektu.

Początek

Metody

  Nazwa Opis
Metoda publiczna Equals Wskazuje, czy to wystąpienie i określonego obiektu są równe. (Odziedziczone z ValueType).
Metoda publiczna GetHashCode Zwraca kod skrótu dla tego wystąpienia. (Odziedziczone z ValueType).
Metoda publiczna GetType Pobiera Type bieżącej instancji. (Odziedziczone z Object).
Metoda publiczna ToChar Interpretuje Variant wartość obiektu jako znak Unicode, jeśli typ wariantowy jest VT_UI2.
Metoda publiczna ToString Zwraca w pełni kwalifikowana nazwa typu tego wystąpienia. (Odziedziczone z ValueType).
Metoda publicznaStatyczny element członkowski ToVariant Konwertuje podany obiekt typu variant do Variant obiektu klasy.

Początek

Uwagi

Ta wersja struktury wariant jest specyficzne dla klas usługi pakiet zarządzanych w ramach (MPF) języka i jest przeznaczony przede wszystkim przekonwertować variant na znak.W szczególności jeśli typ wariantu VT_UI2, wariant obiekt jest konwertowany na znak.

Ta struktura jest rzeczywiście wykorzystana tylko w jednym miejscu w klasach MPF języka service HandlePreExec metoda ViewFilter klasy.Ta struktura jest używany do konwersji przychodzących wariant znak, jeśli typ polecenia jest TYPECHAR.

Uwagi dotyczące implementacji

Jest to struktura ograniczony i nie ma nic do zastępowania.

Uwagi dotyczące wywoływania

To jest strukturą i mogą być traktowane jako typu zmiennej.Ma ona ograniczona funkcjonalność, głównie przeznaczony do konwersji z obiektu typu variant na znak.

Przykłady

W tym przykładzie przedstawiono sposób MPF ViewFilter klasy używa to Variant strukturę, aby konwertować obiekt typu variant przychodzące do znaku.

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

                }
            }
        }
    }
}

Bezpieczeństwo wątku

Wszystkie publiczne static (Shared w języku Visual Basic) elementy członkowskie tego typu są bezpieczne dla wątków. Wystąpienia elementów członkowskich nie dają gwarancji bezpieczeństwa wątków.

Zobacz też

Informacje

Przestrzeń nazw Microsoft.VisualStudio.Package