Укажите факультативные аргументы для структурных аргументов

Дата создания страницы :

Дополнительные аргументы позволяют придать исходное значение аргументу без перегрузки метода другим количеством аргументов.

Однако в качестве факультативных аргументов могут быть указаны только константы, такие как "10", "Образец" и "нулевые", и нельзя указать значение, созданное в новом или определяемом статическим, которое определяется при запуске программы.

То же самое верно, если структура является аргументом. Например, если тип IntPtr, вы не можете указать IntPtr.Noль в качестве исходного значения. Он не может указать 0, и он не может быть недействительным, потому что это структура. (Nullable позволяет указать null, но исключает, потому что тип аргумента изменяется.)

Вы можете использовать "по умолчанию(T) для использования структуры в качестве дополнительного аргумента.) Это эквивалентно значению, созданного с новым T().

public void DoAction(IntPtr handle = default(IntPtr))
{
  // 処理
}

Можно указать только 0 или null для каждого значения в структуре, поэтому перегрузите метод, если вы хотите дать исходное значение отдельно.