2023-09-17 csharpdotnetdotnet-8 .NET 8 como usar JsonStringEnumConverter com native AOT Aprenda a usar o novo JsonStringEnumConverter<TEnum> no .NET 8 para serializar enums no System.Text.Json de forma compatível com native AOT.
2023-09-14 csharpdotnetdotnet-8 The type or namespace name InterceptsLocationAttribute could not be found Como corrigir o erro CS0246 do InterceptsLocationAttribute nos interceptors do C# definindo o atributo você mesmo.
2023-09-11 csharpdotnetdotnet-8 .NET 8 marcando JsonSerializerOptions como readonly Aprenda a marcar instâncias de JsonSerializerOptions como somente leitura no .NET 8 usando MakeReadOnly e a verificar a propriedade IsReadOnly.
2023-09-07 csharpdotnetdotnet-8 .NET 8 serialização de Half, Int128 e UInt128 O System.Text.Json no .NET 8 adiciona suporte nativo de serialização para os tipos numéricos Half, Int128 e UInt128.
2023-09-06 csharpdotnetdotnet-8 .NET 8 Memory<byte> é serializado como base64 A partir do .NET 8, tanto Memory<byte> quanto ReadOnlyMemory<byte> são serializados como strings Base64, enquanto outros tipos como Memory<int> continuam como arrays JSON.
2023-09-05 csharpdotnetdotnet-8 .NET 8 incluindo membros não públicos na serialização JSON Aprenda a incluir propriedades private, protected e internal na serialização JSON no .NET 8 usando o atributo JsonInclude.
2023-08-31 csharp C# 12 Inline arrays Inline arrays permitem criar um array de tamanho fixo dentro de uma struct. Uma struct desse tipo, com um buffer inline, deve entregar desempenho comparável a um buffer unsafe de tamanho fixo. Inline arrays são pensados principalmente para o time do runtime e alguns autores de bibliotecas, para melhorar o desempenho em certos cenários. Provavelmente...
2023-08-30 csharp C# 12 expressões de coleção O C# 12 traz uma nova sintaxe simplificada para criar arrays. Fica assim: É importante notar que o tipo do array precisa ser especificado explicitamente, então você não pode usar var para declarar a variável. De forma parecida, se você quiser criar um Span<int>: Arrays multidimensionais As vantagens dessa sintaxe enxuta...
2023-08-11 csharpdotnet C# como esperar um processo terminar? Você pode usar o método WaitForExit para esperar o processo finalizar. Seu código espera de forma síncrona até o processo terminar e então retoma a execução. Veja um exemplo: O código acima inicia um novo processo cmd.exe e executa o comando timeout 5. A chamada process.WaitForExit() força o programa...
2023-08-06 csharp C# 12 alias para qualquer tipo A diretiva using alias foi relaxada no C# 12 para permitir criar alias para qualquer tipo, não apenas tipos nomeados. Isso significa que agora você pode criar alias para tuples, pointers, tipos de array, tipos genéricos, etc. Assim, em vez de usar a forma estrutural completa de um tuple, dá para criar um alias curto e descritivo...