理解できません。As
オペレーター:
では、なぜ次のように動作するのでしょうか?
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
は構造体であり、作成すると に値が入りstack
ます。ここには参照は含まれていません。ここには確かに null 許容型はありません。
なぜ私が間違っているのかについての説明はありますか?