2017-08-03 5 views
-6

Ref et out peuvent modifier le comportement des paramètres de fonction. Parfois, nous voulons que la valeur réelle d'une variable soit copiée en tant que paramètre. D'autres fois, nous voulons une référence. Ces modificateurs affectent l'analyse d'affectation définie.Méthodes partielles en C# et paramètres

Ma question est: est-ce que les méthodes partielles en C# peuvent avoir des paramètres d'entrée ref, out, optionnels?

+1

avez-vous déjà essayé? :) – Felipe

+0

https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/partial-classes-and-methods#partial-methods – user6144226

+1

À partir des documents liés ci-dessus: * Les méthodes partielles peuvent avoir des paramètres ref mais pas out. * –

Répondre

1

par l'expérimentation avec le code this example il semble que vous pouvez trouver qu'il est possible d'utiliser ref, params, et les valeurs argument par défaut, mais pas out

partial class A 
{ 
    partial void OnSomethingHappened(string s); 
    partial void useRef(ref string s); 
    partial void useOpt(string s1, string s2 = null); 
    partial void useArgs(params string [] s); 
} 

// This part can be in a separate file. 
partial class A 
{ 
    // Comment out this method and the program 
    // will still compile. 
    partial void OnSomethingHappened(String s) 
    { 
     Console.WriteLine("Something happened: {0}", s); 
    } 
} 

En outre, comme l'a expliqué the docs linked par @ user6144226 et souligné par @marc_s:

Les méthodes partielles peuvent avoir des paramètres ref mais pas out.

+2

L'encadré d'aide pour les sous-cotations indique "Cette question ne montre aucun effort de recherche, elle n'est pas claire ou n'est pas utile". Bien, tu l'as maintenant. – EJoshuaS

+0

C'est assez juste. – Felipe

+0

Existe-t-il une raison spécifique pour laquelle les méthodes Partielles ne prennent pas en charge les paramètres OUT? – Tony