Sehr einfach zu replizieren, ist die Ausgabe bizarr;Überschreiben der Standardparameter in C#
Erwartete Ausgabe ist "bbb bbb" tatsächliche Ausgabe ist "aaa bbb"
Hat jemand bekam jede MSDN Erklärung für dieses Verhalten? Ich konnte keine finden.
((a)new b()).test();
new b().test();
public class a
{
public virtual void test(string bob = "aaa ")
{
throw new NotImplementedException();
}
}
public class b : a
{
public override void test(string bob = "bbb ")
{
HttpContext.Current.Response.Write(bob);
}
}
Gibt ((a) (neu b())) .test() die gewünschten Ergebnisse? – rhughes
Erwartete Ausgabe nach * wer *? – Jamiec
Ich glaube, dass es ungültig ist, den Standardwert eines optionalen Parameters während des Überschreibens einer Methode zu ändern. Ändert das nicht die Methodensignatur? –