나는 그것을 얻지 않는다. 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
의 값을 넣어 만들어 구조체이다. 여기에는 참조가 있습니다.여기에는 null 허용 유형이 없습니다.
왜 내가 틀렸는가?
Btw, Baby와 같은 변경 가능한 개체는 가난한 구조체를 만듭니다. 클래스가 더 분명한 선택이 될 것입니다. –
@ MarGravell of-course. 하지만이 질문은 가장자리 시나리오를 더 잘 이해하기위한 것입니다. :-) –