web-dev-qa-db-fra.com

Comment déclarer des paramètres facultatifs en C # .net?

J'utilise une méthode pour effectuer une action, je veux que la méthode soit écrite une seule fois en utilisant des paramètres facultatifs en C #, à part la surcharge de méthode, y en a-t-il?

Nouveau dans Visual Studio 2010

arguments nommés et facultatifs

par exemple

public void ExampleMethod(int required, string optionalstr = "default string",
int optionalint = 10)
{
}
38
Richard Friend

Jetez un œil au code suivant

Bibliothèque à utiliser

using System.Runtime.InteropServices;

Déclaration de fonction

private void SampleFunction([Optional]string optionalVar, string strVar)
{
}

Et tout en appelant à la fonction, vous pouvez faire comme ça

SampleFunction(optionalVar: "someValue","otherValue");

OR

SampleFunction("otherValue");

Répondez si cela aide.! :)

14
Akshay

Oui, utilisez paramètres facultatifs (introduit en C # 4).

public void ExampleMethod(int required, string optionalstr = "default string",
    int optionalint = 10)

Lorsque vous fournissez une valeur par défaut à un paramètre formel, elle devient facultative.

Pour les versions antérieures, les surcharges sont la seule option.

9
Oded

Ils ont été introduits dans C # 2010 (c'est-à-dire généralement VS2010 avec Framework 4.0). Voir Arguments nommés et facultatifs (Guide de programmation C #) .

Dans les versions précédentes de C #, vous êtes bloqué par des surcharges (ou des tableaux de paramètres).

4
Reddog

Si vous utilisez C # 4. c'est le cas.

Vous pouvez ensuite définir votre méthode comme ceci:

public void Foo( int a = 3, int b = 5 ){
  //at this point, if the method was called without parameters, a will be 3 and b will be 5.
}
2
Øyvind Bråthen