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.
- Geef een van de methoden een andere naam of een ander aantal parameters.
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;
}
}
.NET-feedback
.NET is een open source project. Selecteer een koppeling om feedback te geven: