私はそれを取得しません。 As
オペレータ:構造体の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
に価値を置くの作成、構造体です。 参照がここに含まれています。ここにはヌル入力可能なタイプはありません。
なぜ私は間違っているのか?
Btw、Babyのような可変オブジェクトは、貧弱な構造体を作ります。クラスがより明白な選択肢になります。 –
@MarcGravell of course。この問題はエッジシナリオをより良く知るためのものです。 :-) –