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)
'Deklaracja
<CLSCompliantAttribute(False)> _
Public Structure Variant
[CLSCompliantAttribute(false)]
public struct Variant
Typ Variant uwidacznia następujące elementy członkowskie.
Początek
Nazwa | Opis | |
---|---|---|
![]() |
Equals | Wskazuje, czy to wystąpienie i określonego obiektu są równe. (Odziedziczone z ValueType). |
![]() |
GetHashCode | Zwraca kod skrótu dla tego wystąpienia. (Odziedziczone z ValueType). |
![]() |
GetType | Pobiera Type bieżącej instancji. (Odziedziczone z Object). |
![]() |
ToChar | Interpretuje Variant wartość obiektu jako znak Unicode, jeśli typ wariantowy jest VT_UI2. |
![]() |
ToString | Zwraca w pełni kwalifikowana nazwa typu tego wystąpienia. (Odziedziczone z ValueType). |
![]() ![]() |
ToVariant | Konwertuje podany obiekt typu variant do Variant obiektu klasy. |
Początek
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.
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
}
}
}
}
}
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.