Posts

How Dependency Injection Containers Work in C#?

Dependency Injection (DI) containers, such as Unity or DryIoc, help manage the creation and lifetime of object dependencies in C#. They facilitate the Inversion of Control (IoC) principle, allowing you to focus on writing clean, maintainable code without worrying about the complexities of instantiating dependencies manually. How DI Containers Work? Registration:  You define which concrete classes should be used to fulfill specific interface contracts. This allows the DI container to know what to instantiate when a class requests a particular dependency. Resolution:  When an instance of a class is requested, the DI container looks at the registered services, resolves the dependencies, and creates the object with the required dependencies injected. Lifetime Management:  The container manages the lifecycle of the dependencies. You can specify whether instances should be singleton (one instance for the entire application), transient (a new instance each time), or scoped (one ...

Label vs TextBlock in WPF: What's the Difference and When to Use Each.

 In this Blog, we will be discussing the difference between the Label and TextBlock controls in WPF. These two controls are often used to display text in a WPF application, but they have some key differences that you should be aware of when deciding which one to use in your projects. First, let's take a look at the label control. The label control is used to display a single line of text that is typically associated with another control, such as a textbox or a button. The label control is often used to provide a description or a prompt for the user. The label control is also typically used to display a static text and can't be used for editing text. <Label Content="Enter your name:" /> This will create a label with the text "Enter your name:" displayed on the screen. On the other hand, the textblock control is used to display multiple lines of text. It's more flexible than the label control and can be used to display formatted text, such as bol...

How to code diamond pattern in C#?

Diamond patterns are a common exercise for beginners learning to code in C#. They involve creating a pattern of asterisks (*) in the shape of a diamond. While they may seem simple, they can actually be quite challenging to create. In this blog, we will go over the steps to create a diamond pattern in C#. The first step in creating a diamond pattern is to determine the size of the pattern. The size of the pattern will determine how many rows and columns of asterisks are needed to create the diamond shape. The size of the pattern can be determined by the user or it can be hardcoded into the program. Once the size of the pattern has been determined, the next step is to create a loop that will iterate through each row of the pattern. The loop should start at the top of the pattern and work its way down to the middle. In each iteration, the loop should determine how many asterisks are needed for that row. This can be done by using a formula that takes into account the size of the pattern an...

What is an extension method in C# and how to create it?

An extension method is a method that allows you to add new methods to an existing type without creating a new derived type or modifying the original type. This can be especially useful when you want to add functionality to a type that you don't have the source code for, such as a third-party library. To create an extension method, you first need to create a static class and then define the extension method as a static method within that class. The first parameter of the extension method should be the type you want to extend, and it should be preceded by the "this" keyword.   For example, here's how you might create an extension method that adds a "MultiplyByTwo" method to the int type: public static class IntExtensions {     public static int MultiplyByTwo (this int value)     {         return value * 2;     } } To use this extension method, you can simply call it like a regular instance method on any int value. For example: in...

Leetcode - 125. Valid Palindrome

Image
 Problem statement: A phrase is a   palindrome   if, after converting all uppercase letters into lowercase letters and removing all non-alphanumeric characters, it reads the same forward and backward. Alphanumeric characters include letters and numbers. Given a string  s , return  true   if it is a  palindrome , or  false  otherwise . Solution: Problem says, First convert all  uppercase letters into lowercase letters. Remove all non-alphanumeric characters. For first part, I will use ToLower() method of string class. this method will convert all the  uppercase letters into lowercase letters. For the second part, I will use Regex Replace method to remove all  non-alphanumeric characters.  public bool IsPalindrome(string s)   {         /*here i am checking if string is null or empty if so then it will be always                   ...

Pagination of DataGrid in WPF using MVVM

Image
In this Post i will explain the pagination using the MVVM pattern. Lets first create the View with DataGrid and pagination control with First, Previous, Next and Last buttons and we will also have the number of record per page to be displayed in DataGrid option which is ComboBox and in this DataGrid i will load data from CSV file. View I will create the view with DataGrid like this And in this DataGrid i will load data from CSV file <Window x:Class="CURD.Views.EmployeeDetails"         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"         xmlns:d="http://schemas.microsoft.com/expression/blend/2008"         xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"         xmlns:local="clr-namespace:CURD.Views"         mc:Ignorable="d"         Title="E...