Compiler Error CS1919
创建对象时不能使用不安全的类型“type name”。
new 运算符仅在托管堆上创建对象。但可以通过使用语言的互操作功能调用返回指针的本机方法,间接地在非托管内存中创建对象。
更正此错误
在新的对象创建表达式中使用安全类型。例如,使用 char 或 int,而不是使用 char* 或 int*。
如果必须在非托管内存中创建对象,请使用 Win32 或 COM 方法,或者用 C 或 C++ 编写自己的函数并从 C# 调用该函数。
下面的示例生成 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;
}
}