Non capisco. Il As
operator:L'operatore as sulle strutture?
allora perché il seguente lavoro?
struct Baby : ILive
{
public int Foo { get; set; }
public int Ggg()
{
return Foo;
}
}
interface ILive
{
int Ggg();
}
void Main()
{
ILive i = new Baby(){Foo = 1} as ILive; // ??????
Console.Write(i.Ggg()); // Output: 1
}
Baby
è una struttura, creando metterà valorestack
. C'è un riferimento a no.Non ci sono certamente tipi nullable qui.
Qualche spiegazione sul motivo per cui ho torto?
Btw, un oggetto mutabile come Baby fa una cattiva struttura. Una classe sarebbe una scelta più ovvia. –
@MarcGravell di corso. ma questa domanda è per conoscere meglio gli scenari limite. :-) –