Categories
.NET .NET 10 .NET MAUI C# Code Developer Learn Tips

Mastering C# .. Operator: Range, Spread, and Slice Explained

C# is a simple yet powerful language for clearly expressing intent. It comes with a variety of operators that simplify the expression while keeping it easy to understand.

In this article, we’ll dive into the .. (dot-dot) operator, which has been gaining popularity in recent releases.

It is used in the following scenarios:

Categories
.NET .NET 10 C# CLI Code Desktop Developer File Apps Mobile Tips Visual Studio VS Code VS2022 VS2026 Windows

Run C# Source Files Directly in .NET 10

The file app is a new feature in .NET 10 that lets you run a C# source file directly without requiring a project file, like dotnet App.cs. While the build system is tightly integrated with the project file, it operates virtually within the file-based app execution.

Project components like SDK, properties, references, and packages are now defined directly within the C# source file. This is done with the help of C# Ignored Directives. This ensures seamless integration with the virtual project file.

Categories
.NET .NET 10 .NET MAUI .NET MAUI 10 Android ASP.NET Core Aspire Blazor C# CLI Code Deep Dive Desktop Developer DevOps General Getting Started Hybrid Integration iOS macOS Mobile Visual Studio VS Code Web Windows Xamarin Xamarin.Forms

Integrating .NET MAUI with Aspire: A Comprehensive Guide

Aspire is now the talk of the town. You can build and orchestrate all the dependencies from one single place. In fact, it’s stack streamlined. Learn more about Aspire here.

This article discusses how to integrate .NET MAUI, Microsoft’s cross-platform UI framework, with Aspire.

Aspire supports .NET by default, but since .NET MAUI is designed for multi-targeting from a single project, it presents a minor issue. I’ll offer a workaround until it’s officially supported (coming soon).

For this, I’m using .NET 10 File-based Apps for simplicity. Aspire v9.5 supports this new feature. Consult this article to know more about C# File-apps.

Categories
.NET .NET 8 .NET 9 .NET MAUI .NET MAUI 9 Android Blazor C# Code Developer Getting Started Hybrid iOS macOS Mobile NuGet Toolkit Tools Web What's New Windows Xamarin Xamarin.Forms

Integrated App Hosting Builder Method for .NET MAUI Explained

VijayAnand.MauiToolkit is a toolkit that provides various types and methods to make working with .NET MAUI easier. It’s available as a NuGet package and can be installed using the command below.

dotnet add package VijayAnand.MauiToolkit

The latest addition is the Application, Window, and Page integrated app hosting builder extension method.

Introduction:

From .NET MAUI 9, you need to create your main window to run your app by overriding the CreateWindow() method. Instead of setting the Application’s MainPage, pass the page as a parameter to the constructor of the Window type. Alternatively, set its Page property. This topic has already been covered in detail in an earlier article.

Since the app startup configuration is done in one location, MauiProgram.cs, it’s best to set the main Window while configuring the Application in the UseMauiApp() method. Thus the inherited App type acts as a container for global resources. It also handles app events like Start, Sleep, and Resume.

Categories
.NET .NET 10 ASP.NET Core Aspire Automation Azure Blazor C# CLI Code Desktop Developer Getting Started Linux macOS Mobile Visual Studio VS Code Web What's New Windows

Using C# Ignored Directives: A Guide for Programmers

C# – Preprocessor Directives are highly useful for writing code that can be compiled conditionally, depending on factors like the target framework, target platform, or build configuration.

For example:

#if NET9_0_OR_GREATER
// The code within this block will execute only on .NET 9 or higher
#endif

#if ANDROID
// The code within this block will execute only on the Android OS
#endif

#if DEBUG
// The code within this block will execute only in Debug mode
#endif

C# – Ignored Directives have a similar syntax but are ignored by the compiler because they are for tooling.

The real purpose of this feature is to execute a C# source file directly from the CLI. It doesn’t need a project file. Now, even the plain console app requires a project file, despite the much-simplified top-level statements feature.

Categories
.NET .NET 10 .NET MAUI Android Blazor C# Code Deep Dive Desktop Developer Getting Started Hybrid iOS Learn Mobile Preview Visual Studio VS Code Web What's New Windows Xamarin Xamarin.Forms

What’s New in C# 14 – Extension Members – A Comprehensive Guide

Introduced in C# 3.0, extension methods are a valuable feature for external types, especially when those types are sealed, such as string.

Roughly two decades later, C# has now finally unveiled support for extending everything.

With the release of .NET 10 Preview 3 (C# 14), it is now possible to define static methods, instance properties, and static properties too. Support for other members will be incorporated in future releases.

Syntactically, an extension method should be defined within a top-level static class. The type of its first mandatory parameter, the one qualified with the this keyword, determines the type being extended. Henceforth, this will be referred to as the receiver type.

All standard query operators of LINQ are defined as extension methods. They are defined in the Enumerable static class within the BCL (in the System.Linq namespace).

For example, the Where extension method applies to all types that implement IEnumerable<T>. Validations and optimizations aside, the typical implementation is as outlined below.

Categories
.NET .NET 9 .NET MAUI Android Blazor C# Code Desktop Developer Getting Started Hybrid iOS macOS Mobile NuGet Toolkit Visual Studio VS Code What's New Windows Xamarin Xamarin.Forms XAML

Exploring the New RatingView Control in .NET MAUI Community Toolkit v11.2

Yesterday marked the release of v11.2 of the .NET MAUI Community Toolkit, which is based on .NET MAUI 9 SR5 (v9.0.50).

Though it serves as the extended arm of .NET MAUI app development, newcomers will discover this officially supported toolkit to be of immense value.

It provides a thorough array of essential components, including Alerts, Behaviors, Converters, Extensions, Layouts, and Views, which are vital for creating practical, real-world applications.

The Rating control is one of the most used controls while developing feedback pages. Requesting users to rate their quality of service, product reviews, questionnaires, surveys, KPIs, appraisals, feedback forms, user interactions like likes and dislikes, etc. Later, this data can be used to search, suggest, list, and improve products/services.

Categories
.NET .NET 8 .NET 9 .NET MAUI Android Behaviors Blazor C# Code Desktop Developer Hybrid iOS MVVM NuGet Quick Fix Toolkit Web Windows Xamarin Xamarin.Forms

.NET MAUI Community Toolkit v10.0: How to Fix BindingContext Issues with Behaviors

Yesterday marked the official release of the highly anticipated .NET MAUI Toolkit (CommunityToolkit.Maui) package v10.0, introducing native support for .NET 9.

Though it is the extended arm of .NET MAUI app development, for newcomers, this officially supported toolkit offers a comprehensive collection of essential components—such as Alerts, Behaviors, Converters, Extensions, Layouts, and Views—that are crucial for developing real-world apps.

This new release has some breaking changes, with the most notable being aligning with the design change introduced in .NET MAUI 9, where Behaviors no longer automatically inherit the BindingContext of their parent (a major shift from the original Xamarin.Forms design).

Categories
.NET .NET 8 .NET 9 .NET MAUI Android Blazor C# Code Desktop Developer Getting Started Hybrid iOS macOS Mobile MVVM Windows Xamarin Xamarin.Forms XAML

XAML Basics: Building UI with .NET MAUI and More – Part 2

This article represents the second installment of the XAML for Beginners series, which elucidates the concept of declarative markup in the context of defining UI in .NET applications. All articles within this series are accessible from here.

The initial article focused mainly on introducing XAML and its building blocks.

In this article, the focus will be on the following:

  • Attached Properties
  • Generics
  • Passing Arguments
Categories
.NET .NET 9 .NET MAUI C# Code Desktop Developer Getting Started Hybrid macOS MVVM What's New Windows Xamarin Xamarin.Forms

What’s New in .NET MAUI 9 – Window TitleBar

Window TitleBar is one of the two prominent enhancements in .NET MAUI 9, the recently released major version of the cross-platform App UI framework.

The other new feature is HybridWebView, consult this article titled Exploring .NET MAUI 9 – HybridWebView to delve into the details of this new control.

An article that comprehensively outlines the significant features of this version has already been published and is accessible here.

The Window type defines two properties – Page and TitleBar.

Page:

In .NET MAUI 9, the MainPage property of the Application class is now obsolete, replaced by the Page property of the Window class to accommodate this new TitleBar feature for the Desktop (Windows and Mac Catalyst). To know more about this MainPage change, refer to this article.