Beispielcode:null dynamische Variable und Funktion Überlastung
private void DoSomething(object obj)
{
MessageBox.Show("called object");
}
private void DoSomething(params object[] obj)
{
MessageBox.Show("called object[]");
}
private void button1_Click(object sender, EventArgs e)
{
decimal? amount = null;
dynamic obj = amount;
DoSomething(obj);
}
Wenn die Taste 1 gedrückt wird, wird die Meldung "genannt Objekt []" angezeigt. Es scheint, dass die überladene Methode mit dem Parameter object [] in diesem Beispiel bevorzugt ist. Irgendwelche Ideen warum? Ich bin nur mehr als alles andere neugierig.
(Hintergrund: Dieses Verhalten verursachte einige unerwartete Ergebnisse in Razor mit dynamischen Ansichten Formatting nullable decimal in RazorEngine).
für alle, die sich wundern, das Buch in dieser Antwort zitiert wird: https://books.google.co.in/books?id=s-IH_x6ytuQC – imlokesh
@imlokesh Sie liegen falsch. Ich habe C# Spezifikation zitiert, kein Buch. – MarcinJuraszek
mein schlechter, ich suchte nach dem genauen Text, den Sie zitierten, und dies war das erste Ergebnis. :) – imlokesh