Erreur du compilateur CS0208
Impossible de prendre l’adresse, d’obtenir la taille ou de déclarer un pointeur vers un type managé ('type')
Même en cas d’utilisation avec le mot clé unsafe , il n’est pas autorisé de prendre l’adresse d’un objet managé, d’obtenir la taille d’un objet managé ou de déclarer un pointeur vers un type managé. Un type managé est :
tout type référence ;
tout struct qui contient un type référence comme un champ ou une propriété.
Pour plus d’informations, consultez Types non managés.
L’exemple suivant génère l’erreur CS0208 :
// CS0208.cs
// compile with: /unsafe
class myClass
{
public int a = 98;
}
struct myProblemStruct
{
string s;
float f;
}
struct myGoodStruct
{
int i;
float f;
}
public class MyClass
{
unsafe public static void Main()
{
// myClass is a class, a managed type.
myClass s = new myClass();
myClass* s2 = &s; // CS0208
// The struct contains a string, a managed type.
int i = sizeof(myProblemStruct); //CS0208
// The struct contains only value types.
i = sizeof(myGoodStruct); //OK
}
}
Commentaires sur .NET
.NET est un projet open source. Sélectionnez un lien pour fournir des commentaires :