Lezen in het Engels

Delen via


Compilerwaarschuwing (niveau 1) CS1957

Lid 'name' overschrijft 'method'. Er zijn meerdere overschrijvingskandidaten tijdens runtime. Het is afhankelijk van de implementatie welke methode wordt aangeroepen.

Methodeparameters die alleen variëren, ongeacht of ze al ref dan out niet kunnen worden onderscheiden tijdens runtime.

Deze waarschuwing voorkomen

  1. Geef een van de methoden een andere naam of een ander aantal parameters.

Opmerking

Met de volgende code wordt CS1957 gegenereerd:

// 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;  
    }  
}