編譯器錯誤 CS1716
更新:2007 年 11 月
錯誤訊息
請勿使用 'System.Runtime.CompilerServices.FixedBuffer' 屬性。請用 fixed 欄位修飾詞替代。
這個錯誤發生在 unsafe 程式碼區段中,此程式碼區段包含與欄位宣告類似的固定大小陣列宣告。請勿使用這個屬性。請改用關鍵字 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];
}
}
}