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 10 .NET 9 .NET MAUI Android Blazor C# Desktop Developer General Getting Started Hybrid iOS macOS Mobile Preview Templates Visual Studio VS Code Web What's New Windows Xamarin Xamarin.Forms

.NET MAUI 10 Preview: What’s New and How to Get Started

Last month, the first public preview of .NET 10, an LTS version, was released.

A detailed blog post describing the release overview is here.

Update: .NET 10 Preview 2 is now available and is detailed here. Comes with a lot of exciting new features. Try now.

Like .NET 9, details of preview releases for .NET 10 will also be published in the GitHub discussion, and Preview 1 is here.

And what’s changed in this .NET MAUI 10 Preview 1 is here. Have a look at the tentatively planned features on .NET 10 here and Roadmap here.

Categories
.NET .NET 8 .NET 9 .NET MAUI AI Android Blazor C# Copilot Desktop Developer Events General GitHub iOS macOS Mobile Standup Visual Studio VS Code Web Windows Xamarin Xamarin.Forms XAML

.NET MAUI Monthly Standup: Free GitHub Copilot Insights

This February, join David and Rachel as they discuss the latest advancements in the world of .NET MAUI during the monthly community standup about GitHub Copilot’s role in enhancing productivity.

The Community Standup is a live event hosted by the core framework team on the official .NET YouTube channel. It provides valuable insights and exciting announcements. For .NET MAUI, it usually happens on the first Thursday of each month.

Undoubtedly, AI is disrupting the status quo, and now GitHub Copilot is available free of charge. On the free tier, it offers 2,000 code completions and 50 chats per month. All that is required is a GitHub user account and a sign-up for free. Supported on a multitude of apps including VS Code. For further details, please refer to the article and FAQ.

Remember to join live on Thu, Feb 6 at 18:00 UTCClick the link to access the timing in your local or preferred time zone. Note, that it’s an hour behind its usual schedule (Daylight Saving).

The community links for this month’s standup will be updated here.

Happy coding. Stay connected as we continue to learn and share the experiences from this exciting journey of being a .NET developer.

Categories
.NET .NET 8 .NET 9 .NET MAUI Android Blazor C# Desktop Developer Events General Hybrid iOS macOS Mobile Standup Visual Studio VS Code Web Windows Xamarin Xamarin.Forms

Join the .NET MAUI Community Standup – Kickoff 2025 in Style

First and foremost, wishing you all a happy, healthy, and prosperous New Year 2025.

This January, join David and Rachel as they commence the year 2025 by discussing the latest advancements in the world of .NET MAUI during the monthly community standup.

The Community Standup is a live event on the official .NET YouTube channel, hosted by the core framework team. It provides valuable insights and exciting announcements. For .NET MAUI, it usually happens on the first Thursday of each month. This time is an exception, occurring on the second Thursday, which is tomorrow (Jan 9).

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 8 .NET 9 .NET MAUI Android Blazor C# Desktop Developer Getting Started Hybrid iOS Mobile MVVM Windows XAML

XAML Basics: Building UI with .NET MAUI and More

Starting a new series entitled XAML for Beginners elucidates the concept of declarative markup to define UI in .NET applications. All articles within this series can be accessed from here.

The second installment of this series is now available to read here.

XAML is an acronym that stands for eXtensible Application Markup Language. It was first introduced in 2006, accompanying the initial release of Windows Presentation Foundation (WPF) alongside .NET 3.0.

The principal objective of this methodology is to segregate the UI design from the program logic. This separation allows the design team to focus solely on the UI, while the program logic can be developed and evaluated independently. Consequently, these components can be integrated into a unified system.

The MVVM design pattern is an exemplary framework for accomplishing this. However, XAML also supports the code-behind approach.

Categories
.NET .NET 8 .NET 9 .NET MAUI Android Blazor C# Desktop Developer Events General Hybrid iOS macOS Mobile Standup Visual Studio VS Code Web Windows Xamarin Xamarin.Forms

Join the December Community Standup: Explore What’s New in .NET MAUI 9

This December, join David, Rachel, and guests as they wrap the year 2024 by discussing the most recent advancements in the world of .NET MAUI during the monthly community standup following the release of .NET MAUI 9, the recently released major version of the cross-platform App UI framework.

Consult this Comprehensive Overview article to know more about What’s New in .NET MAUI 9.

The Community Standup is a live event on the official .NET YouTube channel, hosted by the core framework team. It provides valuable insights and exciting announcements. For .NET MAUI, it usually happens on the first Thursday of each month.

Remember to join live on Thu, Dec 5 at 18:00 UTCClick the link to access the timing in your local or preferred time zone. Note, that it’s an hour behind its usual schedule (Daylight Saving).

The community links for this month’s standup will be updated here.

Wishing you all a happy, prosperous, and healthy new year 2025 in advance.

Happy coding. Stay connected as we continue to learn and share the experiences from this exciting journey of being a .NET developer.

Categories
.NET .NET 8 .NET 9 .NET MAUI Android Behaviors Blazor C# Code Commands Desktop Developer General Hybrid iOS Made Easy Mobile MVVM Toolkit Windows Xamarin Xamarin.Forms

Handling UI Events with MVVM Commands in .NET MAUI using EventToCommandBehavior

This article is part of the MVVM – Made Easy series, focusing on handling UI events with ViewModel commands.

This series comprises articles that provide insights into working with the MVVM design pattern, to make it a delightful experience. All the articles in this series can be accessed from here – MVVM – Made Easy

The View serves as the user interface, while the ViewModel is composed of Properties and Commands that encapsulate the underlying logic. This architectural layering offers the distinct advantage of enabling independent development and testing of both components. Data Binding functions as the cohesive element that interlinks these two layers.

An event represents a significant mechanism for notifying state changes, such as a button click, to other components that have a vested interest in the occurrence.

The receiver component is capable of responding to the event by subscribing to it through a method whose signature corresponds with the delegate of the event ensuring type safety. And that method is generally referred to as an event handler.

However, the challenge emerges during the testing of the ViewModel, as the event is closely intertwined with the View. Business logic can’t be independently tested.

Categories
.NET .NET 8 .NET 9 .NET MAUI Android Blazor C# Desktop Developer Extensions F# General Getting Started Hybrid iOS macOS Mobile NuGet Templates Tools Visual Studio VS Code Web What's New Windows Xamarin Xamarin.Forms

What’s New in the All-in-One .NET MAUI Templates Pack v6.0

As the name suggests, has a slew of features under the hood to work with .NET MAUI.

To effectively support the stable release of .NET MAUI 9, both the CLI NuGet package and the Visual Studio extension of the All-in-One .NET MAUI Templates Pack have been fully updated.

An article has already been published detailing the comprehensive features of .NET MAUI 9.

To know more about the features of this template pack, consult the articles linked here.

Install:

From CLI:

Here’s the command to install the CLI templates pack.