public abstract class ContentManagedEntity
{
public Guid Guid { get; set; }
public bool Active;
public int DisplayOrder;
}
public class StoreCategory : ContentManagedEntity
{
public string Name { get; set; }
}
public class XMLStoreCategory : StoreCategory, IXMLDataEntity
{
public bool Dirty = false;
}
void main() {
var storecategory = new StoreCategory { Name = "Discount Stores" };
var xmlstorecategory = (XMLStoreCategory) storecategory; // Throws InvalidCastException
}
런타임시 마지막 행에서 InvalidCastException이 발생하는 이유가 있습니까? 기본 클래스에서 상속 된 클래스로 캐스팅 할 때 InvalidCastException이 발생합니까?
(나는이 쓴 바하마는 대답은 내 머리로 하루 명확 팝. 후대를 위해 그것을 게시, 그냥 내가 바로이 있는지 확인 할 수 있습니다.) 모든XMLStoreCategory
객체가
StoreCategory
의이
그래, 질문을 게시 할 때 알아 냈어. 바로 지금 꽤 바보 같은 느낌. 적어도 오히려 다른 사람이 "st00pid"의 일시적인 계약을 체결하면이 사실을 언급 할 수 있습니다. :) –