Compiler Error CS0233
TOC
Inhaltsverzeichnis reduzieren
Inhaltsverzeichnis erweitern
Dieser Artikel wurde manuell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original

Compiler Error CS0233

 

"Bezeichner" hat keine vordefinierte Größe, daher kann "sizeof" nur in einem ungeschützten Kontext verwendet werden. (Benutzen Sie System.Runtime.InteropServices.Marshal.SizeOf.)

Der Operator sizeof kann nur für Typen verwendet werden, die Kompilierzeitkonstanten sind.Wenn Sie diese Fehlermeldung erhalten, prüfen Sie, ob die Größe des Bezeichners zur Kompilierzeit bestimmt werden kann.Wenn das nicht der Fall ist, verwenden Sie SizeOf an Stelle von sizeof.

Im folgenden Beispiel wird CS0233 generiert:

// 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));
   }
}
Anzeigen:
© 2016 Microsoft