SideShow
Legacy Member
Hallo
Ziehier volgende simpele code (ik betwijfel als dit veel voorkomt irl, maar bon)
object a = 3;
Console.WriteLine(a.GetType()); //System.Int32
a = new MijnClass();
Console.WriteLine(a.GetType()); //MijnClass
a.x = 1; //genereert error
((MijnClass)a).x = 1; //correct
class MijnClass
{
public int x;
}
Kan mij iemand de error uitleggen? Waarom ben je expliciet verplicht te casten als hij blijkbaar toch weet welk soort object het is?
Ziehier volgende simpele code (ik betwijfel als dit veel voorkomt irl, maar bon)
object a = 3;
Console.WriteLine(a.GetType()); //System.Int32
a = new MijnClass();
Console.WriteLine(a.GetType()); //MijnClass
a.x = 1; //genereert error
((MijnClass)a).x = 1; //correct
class MijnClass
{
public int x;
}
Kan mij iemand de error uitleggen? Waarom ben je expliciet verplicht te casten als hij blijkbaar toch weet welk soort object het is?
Ofwel geeft hij een fout als je compilet, ofwel aanvaardt hij het. Het wordt dus nooit aanvaard, maar dat heb je nu dus al door.