Type.Missing 字段
表示 Type 信息中的缺少值。此字段为只读。
**命名空间:**System
**程序集:**mscorlib(在 mscorlib.dll 中)
语法
声明
Public Shared ReadOnly Missing As Object
用法
Dim value As Object
value = Type.Missing
public static readonly Object Missing
public:
static initonly Object^ Missing
public static final Object Missing
public static final var Missing : Object
备注
使用 Missing 字段通过反射进行调用,以获取参数的默认值。如果传入一个参数值的 Missing 字段,并且该参数没有默认值,则引发 ArgumentException。
示例
下面的代码示例显示使用 Missing 字段调用带有默认参数的方法。
Option Strict Off
Imports System
Imports System.Reflection
Public Class OptionalArg
Public Sub MyMethod(ByVal a As Integer, Optional ByVal b As Double = 1.2, Optional ByVal c As Integer = 1)
Console.WriteLine("a = " & a & " b = " & b & " c = " & c)
End Sub
End Class
Module module1
Sub main()
Dim o As New OptionalArg()
Dim t As Type
t = GetType(OptionalArg)
Dim param As Object() = {10, 20, 30}
t.InvokeMember("MyMethod", BindingFlags.Public Or BindingFlags.Instance Or BindingFlags.InvokeMethod Or BindingFlags.OptionalParamBinding, Nothing, o, New Object() {10, 55.3, 12})
t.InvokeMember("MyMethod", BindingFlags.Public Or BindingFlags.Instance Or BindingFlags.InvokeMethod Or BindingFlags.OptionalParamBinding, Nothing, o, New Object() {10, 1.3, Type.Missing})
t.InvokeMember("MyMethod", BindingFlags.Public Or BindingFlags.Instance Or BindingFlags.InvokeMethod Or BindingFlags.OptionalParamBinding, Nothing, o, New Object() {10, Type.Missing, Type.Missing})
End Sub
End Module
这段代码产生以下输出:
a = 10 b = 55.3 c = 12
a = 10 b = 1.3 c = 1
a = 10 b = 1.2 c = 1
平台
Windows 98、Windows 2000 SP4、Windows CE、Windows Millennium Edition、Windows Mobile for Pocket PC、Windows Mobile for Smartphone、Windows Server 2003、Windows XP Media Center Edition、Windows XP Professional x64 Edition、Windows XP SP2、Windows XP Starter Edition
.NET Framework 并不是对每个平台的所有版本都提供支持。有关受支持版本的列表,请参见系统要求。
版本信息
.NET Framework
受以下版本支持:2.0、1.1、1.0
.NET Compact Framework
受以下版本支持:2.0、1.0
请参见
参考
Type 类
Type 成员
System 命名空间
Missing