Да, это будет.
Под капотом тип dynamic
- это просто object
с некоторыми метаданными, поэтому типы значений будут помещены в квадрат, когда они помещены в переменную field,или параметр типа dynamic
.
Метод будет скомпилирован следующим образом:
void Foo([Dynamic] object X)
{
}
Подробнее о DynamicAttribute здесь .
IL для кода, вызывающего его:
.method private hidebysig static void Main(string[] args) cil managed
{
.entrypoint
.maxstack 8
L_0000: nop
L_0001: ldc.i4.s 12
L_0003: box int32
L_0008: call void ConsoleApplication13.Program::Foo(object)
L_000d: nop
L_000e: ret
}