C# 6.0 – A field initializer cannot reference the non-static field, method, or property

When using the auto property initializer and trying to initialize the auto property with a value from method , you might end up with the below error

C# 6.0 – A field initializer cannot reference the non-static field, method, or property.

image

For example , the below code snippet will give the error.

public class User
{
        public DateTime CreatedDate { get;  } = GetCurrentDate();

        public DateTime GetCurrentDate()
        {
            return DateTime.Now;
        }
}

The reason for the error is that the method GetCurrentDate is NOT marked as static . Setting the method static as shown below will resolve this error.

public class User
{
        public DateTime CreatedDate { get;  } = GetCurrentDate();

        public static DateTime GetCurrentDate()
        {
            return DateTime.Now;
        }
}

    1 Comment

Leave A Reply

Your email address will not be published. Required fields are marked *

You May Also Like

This C# program calculates and displays an upper triangular matrix based on user input. Problem Statement: The program takes the...
This C# program serves as a demonstration of bitwise operators, which are fundamental operators used for manipulating individual bits in...
This C# program is designed to interchange or swap the columns of a matrix. A matrix is a two-dimensional array...