Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Aggiornamento: novembre 2007
Messaggio di errore
'identificatore' non ha una dimensione predefinita, quindi sizeof può essere usato solo in un contesto di tipo unsafe (si consiglia di utilizzare System.Runtime.InteropServices.Marshal.SizeOf).
'identifier' does not have a predefined size, therefore sizeof can only be used in an unsafe context (consider using System.Runtime.InteropServices.Marshal.SizeOf)
L'operatore sizeof può essere utilizzato solo per i tipi a cui viene assegnato un valore costante in fase di compilazione. Se viene visualizzato questo errore, accertarsi che la dimensione dell'identificatore possa essere determinata in fase di compilazione. Se questo non è possibile, utilizzare SizeOf, anziché sizeof.
Esempio
Il seguente codice di esempio genera l'errore 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));
}
}