Dominando o Comportamento do Task.ContinueWith no .NET
O método Task.ContinueWith é frequentemente fonte de confusão para desenvolvedores que esperam um fluxo de execução linear, especialmente quando comparado à simplicidade sintática do async/await. O principal desafio reside no fato de que o encadeamento de ContinueWith não garante, por si só, que as tarefas subsequentes esperem o término lógico ...
Publicado em 6-27 23:14
Gerenciamento de Impressoras em C#
Este artigo demonstra como interagir com impressoras usando C#, abordando a listagem de dispositivos disponíveis, a obtenção de bandejas de papel, e a implementação de métodos para impressão de imagens. O código é reestruturado para reduzir a semelhança com exemplos convencionais, mantendo a funcionalidade.
Listagem de Impressoras Instaladas
Pa ...
Publicado em 6-24 19:03
Fundamentos de C# .NET: Generics e Covariância/Contravariância
O que são Generics?
Generics em C# constituem um mecanismo de extensão fortemente tipada, empregando um parâmetro de tipo genérico "T" para definir um template de tipo, similar aos templates em C++. Eles possibilitam o encapsulamento e reutilização de código, promovendo a segurança de tipos e reduzindo operações de boxing e unboxing.
...
Publicado em 6-23 05:13
O Funcionamento de Iterações com IEnumerable e IEnumerator no C#
As Interfaces de Iteração: IEnumerator e IEnumerable
No ecossistema .NET, a iteração sobre coleções de dados é governada por um protocolo padrão baseado em duas interfaces fundamentais. A primeira delas é a IEnumerator, que define os mecanismos de baixo nível para percorrer uma sequência de elementos de forma unidirecional.
A estrutura básica d ...
Publicado em 6-15 21:42
Implementando Estratégias de Cache em ASP.NET Core 3.1
Este guia explora a utilização do mecanismo de cache em memória nativo do ASP.NET Core 3.1, demonstrando diferentes abordagens como expiração absoluta, deslizante e dependência de arquivo.
Configuração Inicial
Para habiltiar o cache em memória, registre o serviço no método ConfigureServices da sua classe Startup:
services.AddMemoryCache();
Hel ...
Publicado em 6-15 06:08
Sintaxe Básica do LINQ - Introdução
O que é LINQ
LINQ é a abreviação de Language Integrated Query (Consulta Integrada à Linguagem), sendo uma inovação revolucionária introduzida no Visual Studio 2008 e .NET Framework 3.5. Esta tecnologia estabelece uma ponte entre o mundo dos objetos e o mundo dos dados.
O LINQ oferece suporte a diversas fontes de dados:
ADO.NET DataSet
Document ...
Publicado em 6-14 05:00
Consumindo APIs REST em Aplicações Console com HttpClient no .NET
O HttpClient foi itnroduzido como a API padrão para comunicação HTTP no ecossistema .NET, substituindo as antigas classes WebRequest e HttpWebRequest. Ele oferece uma interface moderna, assíncrona e de alto desempenho. No entanto, instanciar o HttpClient diretamente de forma repetitiva pode levar à exaustão de sockets. Para resolver isso, o .NE ...
Publicado em 6-11 17:00
Utilizando Reflexão em C# para Inspeção Dinâmica de Tipos
A Reflexão (Reflection) é uma funcionalidade poderosa do framwork .NET que permite a um programa inspecionar e manipular informações de tipos em tempo de execução. Através da reflexão, é possível criar objetos dinamicamente, invocar métodos, e acessar propriedades e campos de forma programática.
A reflexão fornece objetos que encapsulam assembl ...
Publicado em 6-5 02:19