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.
Esetleg nem hozzárendelt "név" mező használata. A szerkezetpéldány változói először nem lesznek hozzárendelve, ha a struktúra nincs hozzárendelve.
Ha nem inicializálja őket, a rendszer inicializálja a tagokat az alapértelmezett értékre. Az osztálytípusok (és más referenciatípusok) alapértelmezett értéke null. Ha az osztályt nem inicializálja a rendszer, mielőtt megpróbálna hozzáférni hozzá, futásidőben a rendszer elindítja az osztályt NullReferenceException . A fordító nem tudja véglegesen megállapítani, hogy az osztálytag inicializálva lesz-e vagy sem, ezért a CS1060 figyelmeztetés, nem pedig hiba.
A hiba kijavítása
- Adjon meg egy konstruktort, amely inicializálja az
structösszes tagját.
Példa
Az alábbi kód azért hozza létre a CS1060-et, mert az osztálytípus U tagja az struct S osztálynak, de soha nem inicializálódik.
// cs1060.cs
namespace CS1060
{
public class U
{
public int i;
}
public struct S
{
public U u;
// Add constructor to correct the error.
//public S(int val)
//{
// u = new U() { i = val };
//}
}
public class Test
{
static void Main()
{
S s;
s.u.i = 5; // CS1060
//Try these lines instead, and uncomment the constructor in S
// S s = new S(0);
// s.u.i = 5;
}
}
}