Variant 结构

定义

重要

此 API 不符合 CLS。

表示一个可解释为多个类型的对象。

public value class Variant
public value class Variant
struct Variant
[System.CLSCompliant(false)]
public struct Variant
[<System.CLSCompliant(false)>]
type Variant = struct
Public Structure Variant
继承
Variant
属性

示例

此示例显示了 MPF ViewFilter 类如何使用此 Variant 结构将传入变量对象转换为字符。

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  

                }  
            }  
        }  
    }  
}  

注解

此版本的变量结构特定于托管包框架 (MPF) 语言服务类,并且设计为主要将 variant 转换为字符。 更具体地说,如果变量具有类型,则 VT_UI2 将变量对象转换为字符。

此结构实际上仅用于 MPF 语言服务类(类的方法)中的一个位置 HandlePreExec ViewFilter 。 此结构用于在命令类型为时将传入变体转换为字符 TYPECHAR

调用方说明

这是一个结构,可被视为变量类型。 它的功能有限,主要用于从变体对象转换为字符。

属性

Value

确定此对象的值 Variant

Vt

确定对象的类型 Variant

方法

ToChar()

Variant如果变量类型为,则将该对象的值解释为 Unicode 字符 VT_UI2

ToVariant(IntPtr)

将给定的变体对象转换为 Variant 类对象。

适用于