Because C# (as well as some other languages)
does not allow optional parameters,
Missing allows those languages to pass this value
to indicate that a value will not be specified for those optional
parameters. The only way to access an instance of this
class—there can only be one—is by the return value of the
static field, called Value.
public sealed class Missing {
// Public Static Fields
public static readonly Missing Value;
// =System.Reflection.Missing
}