Errore del compilatore CS1716

Aggiornamento: novembre 2007

Messaggio di errore

Non utilizzare l'attributo 'System.Runtime.CompilerServices.FixedBuffer'. Utilizzare il modificatore di campo 'fixed'.
Do not use 'System.Runtime.CompilerServices.FixedBuffer' attribute. Use the 'fixed' field modifier instead.

Questo errore viene generato in una sezione di codice unsafe contenente una dichiarazione di matrice di dimensione fissa simile a una dichiarazione di campo. Non utilizzare questo attributo. Utilizzare la parola chiave fixed.

Esempio

Il seguente codice di esempio genera l'errore CS1716.

// 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];
        }
    }
}