Type.Missing フィールド
Type 情報に不足している値を表します。このフィールドは読み取り専用です。
Public Shared ReadOnly Missing As Object
[C#]
public static readonly object Missing;
[C++]
public: static Object* Missing;
[JScript]
public static var Missing : Object;
解説
Missing フィールドは、パラメータの既定値を取得するリフレクションによる呼び出しのために使用します。パラメータ値を取得するために渡された Missing フィールドにパラメータの既定値がない場合は、 ArgumentException がスローされます。
使用例
[Visual Basic] 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
[Visual Basic] このコードによって、次の出力が生成されます。
[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] C#、C++、および JScript のサンプルはありません。Visual Basic のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET, Common Language Infrastructure (CLI) Standard
参照
Type クラス | Type メンバ | System 名前空間 | Missing | 既定の引数値へのアクセス