Vou deixar aqui mais uma pegadinha de C#, desta vez C# 4. Como das outras vezes, não vale usar o Visual Studio 2010 para checar a resposta antes de responder. Depois tudo bem!
Dado o seguinte código:
static int Funcao(int z) { return 1; }
static void Main()
{
dynamic x = 3;
DateTime y = Funcao(x);
}
O que deve acontecer?
- Não compila: tenho um erro em tempo de compilação na linha 6;
- Compila e em tempo de execução o inteiro é convertido para uma data usando uma conversão implícita no DLR;
- Compila e o inteiro é convertido para uma data usando uma conversão explícita do CLR, mas em tempo de compilação, com IL gerada pelo compilador na chamada da função;
- Compila mas tenho um erro em tempo de execução na linha 6, porque não é possível converter um inteiro para uma data.
A resposta vem na quinta-feira.
Postado na(s) categoria(s)
C#
pelo
giovanni bassi em 14 de julho de 2009 às 00:44
| Tags:
c#4,
c#
02411d79-e82b-432a-afd2-d1a34b8caffa|2|3.0