Пример кода:
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);
}
При нажатии кнопки 1 отображается сообщение "вызываемый объект []". Кажется, что перегруженный метод с параметром object [] является предпочтительным в этом примере. Любые идеи почему? Мне просто любопытно больше всего.
(Предыстория: это поведение вызвало некоторые неожиданные результаты в Razor с динамическими представлениями Форматирование десятичной дроби в RazorEngine.