Freigeben über


Blitfähige Typen in .NET Compact Framework

Aktualisiert: November 2007

Ein Typ gilt als blitfähig, wenn er im verwalteten und im nicht verwalteten Speicher die gleiche Darstellung hat, sodass keine spezielle Behandlung durch den Marshaller zum Konvertieren in nicht verwalteten oder verwalteten Code erforderlich ist.

Typen, die in beiden Frameworks blitfähig sind

Die folgenden im System-Namespace definierten Typen sind sowohl in der Vollversion von .NET Framework als auch in .NET Compact Framework blitfähig:

Die folgenden komplexen Typen sind ebenfalls blitfähig:

  • Eindimensionale Arrays von blitfähigen Typen.

  • Formatierte Werttypen, die nur blitfähige Typen enthalten. Da alle Strukturen und Klassen in .NET Compact Framework ein sequenzielles Layout aufweisen, hat der verwaltete Werttyp das gleiche Speicherlayout wie die nicht verwaltete Struktur.

Typen, die nur in .NET Compact Framework blitfähig sind

Aufgrund ihrer Implementierung in der Common Language Runtime sind die folgenden Typen in .NET Compact Framework blitfähig:

  • Boolean

    Dies ist eine ganze 1-Byte-Zahl. In der Vollversion von .NET Framework entspricht das Standardmarshalling für ein Boolean dem MarshalAsAttribute(UnmanagedType.Bool)-Attribut, für das ein 4-Byte-Ganzzahlwert verwendet wird.

  • Char

    Dies ist immer ein Unicode-Zeichen (2 Bytes), wohingegen die Vollversion von .NET Framework diesen Typ entweder als Unicode-Zeichen oder als ANSI-Zeichen behandeln kann, je nach dem MarshalAsAttribute-Attribut oder dem DllImportAttribute.CharSet-Feld.

  • String

    Dies wird stets als Unicode-Array behandelt, wohingegen die Vollversion von .NET Framework diesen Typ entweder als Unicode- oder ANSI-Array bzw. als BSTR-Typ behandeln kann, je nach dem MarshalAsAttribute-Attribut oder dem DllImportAttribute.CharSet-Feld.

Siehe auch

Weitere Ressourcen

Unterstützung von Marshalling in .NET Compact Framework