Optionele argumenten voor structuurargumenten opgeven

Aanmaakdatum van pagina :

Met optionele argumenten u een initiële waarde aan een argument geven zonder een methode met een ander aantal argumenten te overbelasten.

Alleen constanten zoals '10', 'Voorbeeld' en 'null' kunnen echter worden opgegeven als optionele argumenten en u geen waarde opgeven die is gemaakt in nieuw of gedefinieerd door statische readonly die wordt bepaald wanneer het programma wordt uitgevoerd.

Hetzelfde geldt als de structuur een argument is. Als het type bijvoorbeeld IntPtr is, u IntPtr.Zero niet opgeven als de oorspronkelijke waarde. Het kan geen 0 opgeven en het kan niet worden vernietigd omdat het een structuur is. (Met Nullable u null opgeven, maar wordt uitgesloten omdat het type argument wordt gewijzigd.)

U 'standaard(T) gebruiken om de structuur als optioneel argument te gebruiken.) Dit is gelijk aan de waarde die is gemaakt met nieuwe T().

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

U alleen 0 of null opgeven voor elke waarde in de structuur, zodat u de methode overbelastals u een initiële waarde afzonderlijk wilt geven.