new - C#- Son los parámetros dinámicos encasillados
dynamic c# (3)
¡Sí!
Como es un tipo de valor, estará encuadrado.
Si tengo:
void Foo(dynamic X) {
}
Y entonces:
Foo(12);
¿12 quedarían en caja? No me puedo imaginar que lo haría, solo me gustaría preguntar a los expertos.
Sí, lo hará.
Debajo del capó, un tipo dynamic
es solo un object
con algunos metadatos, por lo que los tipos de valor se colocarán en un recuadro cuando se coloquen en una variable, campo o parámetro de tipo dynamic
.
El método realmente se compilará así:
void Foo([Dynamic] object X)
{
}
Lea más sobre DynamicAttribute aquí .
IL por código llamándolo:
.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
}
Sí. Un tipo de valor debe estar encuadrado para escribir check.