更新:2007 年 11 月

错误消息

不要使用“System.Runtime.CompilerServices.FixedBuffer”属性。请改用“fixed”字段修饰符。

在包含与字段声明相似的固定大小的数组声明的不安全代码段中,会发生此错误。不要使用此属性。请改用关键字 fixed

示例

下面的示例生成 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];
        }
    }
}