我需要你的帮助来解决关于继承的问题。在我的一个项目中,我正在使用SyndicationFeed .net 类来读取几个提要并生成其元素的ul。对于每个元素,我也想显示提要的图像,因此我想将提要的相同ImageUrl属性分配给单个项目。所以我首先创建了一个派生类:
Public Class SyndicationItemWImage
Inherits SyndicationItem
Private mItemImage As Uri
Public Property ItemImage As Uri
Get
Return mItemImage
End Get
Set(value As Uri)
mItemImage = value
End Set
End Property
End Class
然后我会初始化对象并填充它
Dim BlogsPostsWImage As List(Of SyndicationItemWImage)
BlogsPostsWImage = New List(Of SyndicationItemWImage)
…
[initialize SyndFeed]
…
BlogsPostsWImage.AddRange(SyndFeed.Items.ToList.GetRange(0, 10))
其中SynFeed是一个运行良好的SyndicationFeed对象。不幸的是,我收到一个错误,表明演员阵容无效:
System.InvalidCastException:无法转换类型为“System.Collections.Generic.List
1[System.ServiceModel.Syndication.SyndicationItem]' to type 'System.Collections.Generic.IEnumerable
1 [lucamauricom.SyndicationItemWImage]”的对象。在 lucamauricom._default.Page_Load(对象发送者,EventArgs e)
我不明白为什么:不应该允许从父类到子类的强制转换吗?我想我在这里遗漏了一些基本的东西……不知道是什么。
感谢您的任何帮助,您可以提供。