Fading Coder

One Final Commit for the Last Sprint

Handling Data I/O in C# Using Streams

In C#, input and output operations are primarily handled through the System.IO namespace. The central concept is the Stream, an abstract class that provides a generic view of a sequence of bytes. Streams involve three fundamental operations: reading, writing, and seeking. The System.IO namespace org...

Implementing Dynamic Assembly Loading and Unloading in .NET Framework

This article demonstrates how to achieve dynamic assembly loading and unloading in a .NET Framework Windows Forms application, enabling runtime updates to DLL functionality without restarting the main application. Core Concepts: AppDomain The AppDomain (Application Domain) is a fundamental .NET conc...

Integrating ILRuntime for Hot Code Updates in Unity ET6

ILRuntime is a pure C# IL runtime implementation designed for C#-based platforms like Unity. It provides a fast, convenient, and reliable way to execute IL code, enabling hot code updates on devices that do not support JIT compilation, such as iOS. The official guide can be found at: https://ourpalm...

Task in C#

Task in C# Task represents the execution and completion of an asynchronous operation. It can be used to encapsulate an asynchronous operation, allowing it to execute without blocking the main thread and retrieve the result after completion. static void Main(string[] args) { MyFun(); Console.Read();...

Boosting EXT.NET Development Through Component Encapsulation

Efficient development in any framework often hinges on identifying and abstracting repetitive tasks. In the context of EXT.NET, where rich client-side components interact with server-side logic, encapsulating common UI operations into reusable utility functions can drastically improve productivity a...

Getting Started with Quartz.NET for Periodic Tasks

To implement periodic tasks in C#, you first need to reference the Quartz NuGet package in your project. Next, define a scheduler initialization class that manages three core components: the scheduler itself, the job detail (specifying what to execute), and the trigger (defining when and how often t...

C# Programming Fundamentals: Type Inference, Extension Methods, Delegates, Lambda Expressions, and LINQ

Type Inference with var The var keyword enables type inference for local variables only, not for class members. Variables declared with var must be initialized during declaration and cannot be assigned null values. The var keyword doesn't represent a new data type but serves as syntactic sugar for v...

Understanding String Immutability and Interning in C#

In the C# language, the string type is a reference type. Unlike value types which are stored on the stack, string objects reside on the managed heap. Under normal reference type rules, assigning one variable to another typically means both variables point to the same memory address, and modifying on...

Implementing a Web API Using the ABP Framework and Domain-Driven Design

Building a robust application backend involves transitioning from standard three-tier architectures to more modular patterns like Domain-Driven Design (DDD). Within the ABP Framwork, this process centers on defining a domain model and exposing it through an application service layer, which the frame...

C# Code Formatting and Development Conventions

Naming Conventions and Terminology Pascal Case: Capitalize the first letter of the identifier and the first letter of each subsequent concatenated word. Use for identifiers with three or more characters. Example: PrimaryColor Camel Case: The first letter of the identifier is lowercase, while the fir...