Sdílet prostřednictvím


Compilerfehler CS1716

Aktualisiert: November 2007

Fehlermeldung

Verwenden Sie nicht das System.Runtime.CompilerServices.FixedBuffer-Attribut. Verwenden Sie stattdessen den fixed-Feldmodifizierer.
Do not use 'System.Runtime.CompilerServices.FixedBuffer' attribute. Use the 'fixed' field modifier instead.

Dieser Fehler tritt in einem Abschnitt mit unsicherem Code auf, wobei dieser Abschnitt eine Arraydeklaration mit festgelegter Größe enthält, die einer Felddeklaration ähnelt. Verwenden Sie dieses Attribut nicht. Verwenden Sie stattdessen das Schlüsselwort fixed.

Beispiel

CS1716 wird im folgenden Beispiel generiert.

// CS1716.cs
// compile with: /unsafe
using System;
using System.Runtime.CompilerServices;

public struct UnsafeStruct
{
    [FixedBuffer(typeof(int), 4)]  // CS1716
    unsafe public int aField;
    // Use this single line instead of the above two lines.
    // unsafe public fixed int aField[4];
}

public class TestUnsafe
{
    static int Main()
    {
        UnsafeStruct us = new UnsafeStruct();
        unsafe
        {
            if (us.aField[0] == 0)
                return us.aField[1];
            else
                return us.aField[2];
        }
    }
}