0
我已经从基类创建派生类,并已将派生类对象添加到基类集合。当我尝试将集合对象强制转换为派生类时,抛出错误,我无法获得我的重写方法和属性。我该如何解决这个问题。?访问从基类集合派生类属性
我试图重写行程类WPF inkcanvas.But可收集序列化ANS desalinizing后的基墨collection.So的,我添加了新的属性不accessible.Pls帮助
我已经从基类创建派生类,并已将派生类对象添加到基类集合。当我尝试将集合对象强制转换为派生类时,抛出错误,我无法获得我的重写方法和属性。我该如何解决这个问题。?访问从基类集合派生类属性
我试图重写行程类WPF inkcanvas.But可收集序列化ANS desalinizing后的基墨collection.So的,我添加了新的属性不accessible.Pls帮助
你的问题是StrokeCollection
实现了定制TypeConverter
,其使用StrokeCollection.Save()
方法以高效二进制格式将笔画数据序列化,所述二进制格式被称为Ink Serialization Format(ISF)。当你的笔画被转换为ISF时,所有额外的数据都会丢失,所以当它们重新加载时,它们会被实例化为普通的Stroke
对象(不是你的子类)。这就是为什么你不能将它们投射到你的子类。
你的一些选项有:
StrokeCollection
和实施新的TypeConverter
为你的子类TypeConverter
StrokeCollection
(例如,通过复制。将Strokes
转换成List<Stroke>
并序列化)
C收集元素应该工作。示例代码真的有帮助。 – Richard 2010-07-10 12:04:38
这也有助于说*你得到了什么*错误。我会猜InvalidCastException,但它可能是其他任何数量的,这取决于它出错的原因。 – 2010-07-10 12:06:31