Avertissement du compilateur (niveau 1) CS1957
Le membre 'nom' se substitue à 'méthode'. Il existe plusieurs candidats à la substitution au moment de l’exécution. La méthode appelée dépend de l’implémentation.
Les paramètres de méthode qui varient uniquement s’ils sont ref
ou out
ne peuvent pas être différenciés au moment de l’exécution.
- Attribuez un autre nom ou un nombre de paramètres différent à l’une des méthodes.
Le code suivant génère l’erreur CS1957 :
C#
// cs1957.cs
class Base<T, S>
{
public virtual string Test(out T x) // CS1957
{
x = default(T);
return "Base.Test";
}
public virtual void Test(ref S x) { }
}
class Derived : Base<int, int>
{
public override string Test(out int x)
{
x = 0;
return "Derived.Test";
}
static int Main()
{
int x;
if (new Derived().Test(out x) == "Derived.Test")
return 0;
return 1;
}
}
Collaborer avec nous sur GitHub
La source de ce contenu se trouve sur GitHub, où vous pouvez également créer et examiner les problèmes et les demandes de tirage. Pour plus d’informations, consultez notre guide du contributeur.
Commentaires sur .NET
.NET est un projet open source. Sélectionnez un lien pour fournir des commentaires :