共用方式為


編譯器錯誤 CS1919

更新:2007 年 11 月

錯誤訊息

建立物件時不能使用 Unsafe 型別 'type name'。

new 運算子只會在 Managed 堆積 (Heap) 上建立物件。然而,您可以使用語言的互通性 (Iinteroperability) 功能來呼叫會傳回指標的原生方法,間接在 Unmanaged 記憶體中建立物件。

若要更正這個錯誤

  1. 在新的物件建立運算式中使用安全型別。例如,使用 char 或 int,而不要使用 char* 或 int*。

  2. 如果必須在 Unmanaged 記憶體中建立物件,請使用 Win32 或 COM 方法,或是以 C 或 C++ 撰寫自己的函式,並從 C# 中呼叫該函式。

範例

因為指標型別 (Pointer Type) 是不安全的,所以下列範例會產生 CS1919:

// cs1919.cs
// Compile with: /unsafe
unsafe public class C
{
    public static int Main()
    {
        var col1 = new int* { }; // CS1919
        var col2 = new char* { }; // CS1919
        return 1;
    }
}

請參閱

參考

互通性 (C# 程式設計手冊)