DEV Community

Juarez Júnior
Juarez Júnior

Posted on

C# Tip: Required Members

Let’s talk about Required Members, introduced in C# 11, which allow you to declare properties that must be initialized, ensuring that objects are always created in a valid state. See the example in the code below.

public class Product
{
    public required string Name { get; set; }
    public required decimal Price { get; set; }
}

public class Program
{
    public static void Main()
    {
        Product product = new Product
        {
            Name = "Pen",
            // An exception will be thrown when compiling
            //Price = 2.99m
        };

        Console.WriteLine($"Product: {product.Name}, Price: {product.Price}");
    }
}
Enter fullscreen mode Exit fullscreen mode

Explanation:

Required Members allow you to mark certain properties of a class as mandatory, forcing them to be initialized when the object is created. This is very useful to prevent objects from being created without all necessary information, which can lead to inconsistencies or runtime errors.

In the example above, we have a Product class with Name and Price properties, both of which are required. If a Product object is instantiated without initializing these properties, the compiler will raise an error, ensuring that the object always contains complete data from the start.

Source code: GitHub

I hope this tip helps you use Required Members to ensure the integrity of the objects created in your projects! Until next time.

Top comments (0)