csharp

C# Design Pattern: Observer (Portugues)

C# Design Pattern: Observer (Portugues)

O padrão Observer é usado para notificar automaticamente múltiplos objetos quando o estado de outro objeto muda. Ele define uma relação "um-para-muitos" entre objetos, onde quando um objeto (o sujeito) muda, todos os seus observadores são notificados. É útil em situações onde várias partes do sistema precisam reagir às mudanças de um objeto, como em sistemas de eventos ou notificações. Exemplo de Código em C#: // Interface do Observador public interface IObservador { void Atualizar(string estado); } // Interface do Sujeito public interface ISujeito { void AdicionarObservador(IObservador observador); void RemoverObservador(IObservador observador); void NotificarObservadores(); } // Implementação do Sujeito public class…
Read More
Class va Object

Class va Object

1.Class va ObjectTEST SAVOLLARI:a)C# da class nima?b)Object nima?c)Quyidagi kodning natijasini ayting: class Car { public string Model: public Car(string model) { Model = model; } } Car myCar = new Car("Tesla"); Console.WriteLine(myCar.Model); Enter fullscreen mode Exit fullscreen mode ** TEST JAVOBLARI:**a)Class – bu ob'ektlar uchun andoza yoki shablondir. Sinf ma'lumotlar (field) va xatti-harakatlar (methods, properties) to'plamidan iborat. Bu ma'lumotlar va xatti- harakatlar sinf ichida aniqlanadi va sinfdan yaratilgan har bir ob'ekt uchun alohida bo'ladi. b)Object – bu sinfdan yaratilgan konkret nusxadir. Ob'ekt orqali sinfda aniqlangan ma'lumotlar va xatti-harakatlardan foydalanish mumkin. Sinf deklaratsiyasi faqat shablondir, ob'ekt esa sinfning amaliy hayotdagi ko'rinishidir.…
Read More
[PT_BR] Repositório Genérico com Dapper.Contrib

[PT_BR] Repositório Genérico com Dapper.Contrib

Um dos grandes benefícios de utilizar o Dapper é sua velocidade e versatilidade no acesso a dados. No entanto, ele ainda deixa a desejar quando pensamos em mapeamento objeto-relacional (ORM). Para resolver essa limitação, a comunidade desenvolveu o Dapper.Contrib, uma biblioteca que simplifica o mapeamento de tabelas do banco de dados para classes utilizando anotações. Com o tempo, a criação de classes de repositório pode se tornar um processo repetitivo e mecânico. Uma solução prática é implementar uma classe de repositório base, o que facilita o desenvolvimento e reduz a duplicação de código. Neste artigo, vamos explorar como criar uma…
Read More
[PT_BR] Repositório Genérico com Dapper.Contrib

[PT_BR] Repositório Genérico com Dapper.Contrib

Um dos grandes benefícios de utilizar o Dapper é sua velocidade e versatilidade no acesso a dados. No entanto, ele ainda deixa a desejar quando pensamos em mapeamento objeto-relacional (ORM). Para resolver essa limitação, a comunidade desenvolveu o Dapper.Contrib, uma biblioteca que simplifica o mapeamento de tabelas do banco de dados para classes utilizando anotações. Com o tempo, a criação de classes de repositório pode se tornar um processo repetitivo e mecânico. Uma solução prática é implementar uma classe de repositório base, o que facilita o desenvolvimento e reduz a duplicação de código. Neste artigo, vamos explorar como criar uma…
Read More
C# Design Pattern: Interpreter (Portugues)

C# Design Pattern: Interpreter (Portugues)

O padrão Interpreter é usado para interpretar ou avaliar expressões em uma linguagem simples. Ele define uma gramática para expressões e um mecanismo para interpretar essas expressões. É útil quando você precisa processar ou avaliar comandos ou regras repetidamente, como em calculadoras ou linguagens de script. Exemplo de Código em C#: // Interface para expressões public interface IExpressao { int Interpretar(); } // Expressão para números public class Numero : IExpressao { private int _valor; public Numero(int valor) { _valor = valor; } public int Interpretar() { return _valor; } } // Expressão para adição public class Adicao : IExpressao…
Read More
New Project: Public Interface Generator

New Project: Public Interface Generator

This was originally posted at my personal site at: https://programmeral.com/posts/20240930_InterfaceSourceGenerator New Project: Public Interface Generator As developers we like to automate things. Anything we can automate is one less thing we waste time on later. Another thing that's getting easier to do, easier than it used to be at least, is to codify our patterns. Enforcing code patterns with code. One common pattern in C# is to create an interface that exists just to make unit test mocking easier. So why not generate the interface code instead of writing it? Well that's the project. There's code and a NuGet package…
Read More
Mastering C# Fundamentals: Parsing Strings

Mastering C# Fundamentals: Parsing Strings

Meta Description:Learn how to convert strings to other data types in C# using Parse() and TryParse(). Discover the differences, practical examples, and best practices for safely handling user input. Introduction: Parsing strings into other data types is a fundamental part of working with user input in C#. Whether you need to convert a string to a number, a boolean, or a date, C# offers methods that help you achieve this safely and effectively. In this article, we'll explore how to use Parse() and TryParse() to convert strings into other types, including int, decimal, bool, and DateTime. Using Parse() to Convert…
Read More
Understanding InvalidOperationException in C#

Understanding InvalidOperationException in C#

What Does "InvalidOperationException" Mean? In layman's terms, an InvalidOperationException occurs when you try to perform an action that is not allowed in the current state of an object. It's like trying to drive a car without starting the engine first—you're trying to do something that isn't possible given the car's current state. Real-Life AnalogyImagine you're at a swimming pool, and there's a sign that says, "No diving in the shallow end." If you try to dive into the shallow end, a lifeguard will stop you and say, "You can't dive here; it's not safe." This is similar to what happens…
Read More
Execute Lambda triggered by DB record updates

Execute Lambda triggered by DB record updates

What architecture would you use if you wanted to synchronize data across multiple subsystems? Importantly, since transactions are not available, the SQL issuer must take care to ensure that data consistency is maintained. For example, if SQL execution is performed by Lambda, it is necessary to write to database A and database B respectively, but the application logic tends to become complex when updating multiple records. Therefore, Trigger an AWS Lambda function from Amazon RDS for MySQL or Amazon RDS for MariaDB using audit logs and Amazon CloudWatch architecture. With this method, Lambda is triggered by actual writes using audit…
Read More
Unit testing with Xunit: Introduction

Unit testing with Xunit: Introduction

Wolf Fact: That's how a pack of wolves sound Xunit.net is a free, open-source, community-focused unit testing tool for the .NET Framework. Let’s go. Please visit this link for the code. Create a .NET console app ( for simplicity) and add a Xunit test project to the solution. Now, we have two projects in the solution — one for application logic and another for unit testing. xUnit Test Project Solution XUnitTesting hierarchy We should always keep the application code and its tests in separate projects. Application- This project has our application logic. Application.Test- As the name indicates, this project has…
Read More
No widgets found. Go to Widget page and add the widget in Offcanvas Sidebar Widget Area.