Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Nem módosítható a beérkezett üzenetek mappa nélküli konvertálásának eredménye
A beérkezett üzenetek mappa nélküli konvertálásának eredménye egy ideiglenes változó. A fordító megakadályozza az ilyen változók módosítását, mert az ideiglenes változó eltűnésekor minden módosítás megszűnik. Ennek kijavításához deklaráljon egy új érték típusú változót a köztes kifejezés tárolásához, és rendelje hozzá a nem beérkezett átalakítás eredményét ehhez a változóhoz.
Az alábbi kód létrehozza a CS0455-öt.
// CS0445.CS
class UnboxingTest
{
public static void Main()
{
Point p;
p.x = 1;
p.y = 2;
object obj = p;
// The following line generates CS0445, because the result
// of unboxing obj is a temporary variable.
((Point)obj).x = 2;
// The following lines resolve the error.
// Store the result of the unboxing conversion in p2.
Point p2;
p2 = (Point)obj;
// Then you can modify the unboxed value.
p2.x = 2;
}
}
struct Point
{
public int x, y;
}