Вы можете сделать это:
public static void ShowAbout(Point location = new Point(),
bool stripSystemAssemblies = false,
bool reflectionOnly = false)
Из спецификации C # 4, раздел 10.6.1:
Выражение в аргумент по умолчанию
должен быть одним из следующих:
- a константное выражение
- выражение вида
new S()
, где S
- тип значения
- выражение вида
default(S)
, где S
- тип значения
Так что вы также можете использовать:
public static void ShowAbout(Point location = default(Point),
bool stripSystemAssemblies = false,
bool reflectionOnly = false)
РЕДАКТИРОВАТЬ: Если вы хотите установить значение по умолчанию другое , чем точка (0, 0), стоит знать о другом трюке:
public static void ShowAbout(Point? location = null
bool stripSystemAssemblies = false,
bool reflectionOnly = false)
{
// Default to point (1, 1) instead.
Point realLocation = location ?? new Point(1, 1);
...
}
Это также позволило бы вызывающим абонентам явно сказать: «Вы выбираете значение по умолчанию», передав нулевое значение.