Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Det går inte att implicit konvertera typen "type1" till "type2". Det finns en explicit konvertering (saknar du en cast?)
Det här felet uppstår när koden försöker konvertera mellan två typer som inte kan konverteras implicit, men där en explicit konvertering är tillgänglig. Mer information finns i Konvertering och typkonvertering.
Följande kod visar exempel som genererar CS0266:
// CS0266.cs
class MyClass
{
public static void Main()
{
// You cannot implicitly convert a double to an integer.
double d = 3.2;
// The following line causes compiler error CS0266.
int i1 = d;
// However, you can resolve the error by using an explicit conversion.
int i2 = (int)d;
// You cannot implicitly convert an object to a class type.
object obj = new MyClass();
// The following assignment statement causes error CS0266.
MyClass myClass = obj;
// You can resolve the error by using an explicit conversion.
MyClass c = (MyClass)obj;
// You cannot implicitly convert a base class object to a derived class type.
MyClass mc = new MyClass();
DerivedClass dc = new DerivedClass();
// The following line causes compiler error CS0266.
dc = mc;
// You can resolve the error by using an explicit conversion.
dc = (DerivedClass)mc;
}
}
class DerivedClass : MyClass
{
}