CS0233 de erro do compilador
Mensagem de erro
'identificador' não tem um dimensionar predefinido, por isso sizeof só pode ser usado em um contexto sem segurança (considere o uso de sistema.tempo de execução.InteropServices.realizar marshaling.SizeOf)
The sizeof operador só pode ser usado para tipos que são constantes de time de compilar.Se você estiver recebendo esse erro, certifique-se de que o dimensionar do identificador pode ser determinado em tempo de compilar.Se ele não pode usar SizeOf em vez de sizeof.
Exemplo
O exemplo a seguir gera CS0233:
// CS0233.cs
using System;
using System.Runtime.InteropServices;
[StructLayout(LayoutKind.Sequential)]
public struct S
{
public int a;
}
public class MyClass
{
public static void Main()
{
S myS = new S();
Console.WriteLine(sizeof(S)); // CS0233
// Try the following line instead:
// Console.WriteLine(Marshal.SizeOf(myS));
}
}