Type.Missing Field
Represents a missing value in the Type information. This field is read-only.
[Visual Basic] Public Shared ReadOnly Missing As Object [C#] public static readonly object Missing; [C++] public: static Object* Missing; [JScript] public static var Missing : Object;
Remarks
Use the Missing field for invocation through reflection to obtain the default value of a parameter. If the Missing field is passed in for a parameter value and there is no default value for that parameter, an ArgumentException is thrown.
Example
[Visual Basic] The following code example shows the use of the Missing field to invoke a method with its default arguments.
[Visual Basic]
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
[Visual Basic] This code produces the following output:
[Visual Basic] a = 10 b = 55.3 c = 12
[Visual Basic] a = 10 b = 1.3 c = 1
[Visual Basic] a = 10 b = 1.2 c = 1
[C#, C++, JScript] No example is available for C#, C++, or JScript. To view a Visual Basic example, click the Language Filter button
in the upper-left corner of the page.
Requirements
Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family, .NET Compact Framework, Common Language Infrastructure (CLI) Standard
See Also
Type Class | Type Members | System Namespace | Missing | Accessing Default Argument Values