Compiler Error CS0843

Backing field for automatically implemented property 'name' must be fully assigned before control is returned to the caller. Consider calling the default constructor from a constructor initializer.

To assign a value to an automatically-implemented property from a constructor, you must first invoke the default constructor to create the object.

To correct this error

  1. Add a call to the default constructor in a constructor initializer as shown in the following example. Note the use of : this(). For more information, see this.


The following code generates CS0843:

// cs0843.cs  
struct S  
    public int AIProp { get; set; }  
    public S(int i){} //CS0843  
    // Try the following lines instead.  
   // public S(int i) : this()  
   // {  
   //     AIProp = i;  
   // }  

class Test  
    static int Main()  
        return 1;