Lezen in het Engels

Delen via


Compilerfout CS0200

Eigenschap of indexeerfunctie 'eigenschap' kan niet worden toegewezen aan - het is alleen-lezen

Er is geprobeerd een waarde toe te wijzen aan een eigenschap, maar de eigenschap heeft geen set accessor of de toewijzing valt buiten de constructor. Los de fout op door een settoegangsor toe te voegen. Zie Eigenschappen voor lezen/schrijven declareren en gebruiken voor meer informatie.

Voorbeelden

In het volgende voorbeeld wordt CS0200 gegenereerd:

C#
// CS0200.cs
public class Example
{
    private int _mi;
    int I
    {
        get
        {
            return _mi;
        }
        // uncomment the set accessor and declaration for _mi
        /*
        set
        {
            _mi = value;
        }
        */
    }

    public static void Main()
    {  
        Example example = new Example();
        example.I = 9;   // CS0200
    }
}  

In het volgende voorbeeld worden automatisch geïmplementeerde eigenschappen en object-initialisatiefuncties gebruikt en worden nog steeds CS0200 gegenereerd:

C#
// CS0200.cs
public class Example
{
    int I
    {
        get;
        // uncomment the set accessor and declaration
        //set;
    }

    public static void Main()
    {  
        var example = new Example
        {
            I = 9   // CS0200
        };
    }
}

Als u wilt toewijzen aan een eigenschap of indexeerfunctie met het kenmerk Alleen-lezen, voegt u een set accessor toe of wijst u de waarde toe aan de constructor van het object.

C#
public class Example
{
    int I { get; }

    public Example()
    {
        I = -7;
    }
}