CS1919 de erro do compilador

Mensagem de erro

Tipo não seguro 'nome do tipo' não pode ser usado na criação do objeto.

The new operador cria objetos apenas no heap gerenciado. No entanto, você pode criar objetos na memória não gerenciada indiretamente, usando os recursos de interoperabilidade de linguagem para telefonar métodos nativo que retornam ponteiros.

Para corrigir este erro

  1. Use um tipo de seguro na expressão de criação do novo objeto.Por exemplo, use char ou int em vez de char* ou int*.

  2. Se você deve criar objetos na memória não gerenciada, use um método Win32 ou COM ou outra gravar seu proprietário de função em C ou C++ e chamá-lo de translation from VPE for Csharp.

Exemplo

O exemplo a seguir gera CS1919 porque um tipo ponteiro não é seguro:

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

Consulte também

Referência

Interoperabilidade (guia de programação C#)