该类型System.Windows.PresentationFrameworkCollection<T>
不是用于继承吗?我试图创建一个自定义<Type>AnimationsFromKeyFrames
对象,但我无法为 KeyFrames 属性创建 Collection 类型,因为 Visual Studio 显然正在弥补一些错误。
Visual Studio 报告以下抽象成员未实现,即使它们不存在于任何继承的对象上:
“MyKeyFrameCollection”未实现继承的抽象成员“System.Windows.PresentationFrameworkCollection<MyKeyFrame>.SetItemImplSkipMethodPack(int, MyKeyFrame)”
“MyKeyFrameCollection”未实现继承的抽象成员“System.Windows.PresentationFrameworkCollection<MyKeyFrame>.GetItemImplSkipMethodPack(int)”
“MyKeyFrameCollection”未实现继承的抽象成员“System.Windows.PresentationFrameworkCollection<MyKeyFrame>.RemoveInternal(MyKeyFrame)”
“MyKeyFrameCollection”没有实现继承的抽象成员“System.Windows.PresentationFrameworkCollection<MyKeyFrame>.InsertInternal(int, MyKeyFrame)”
“MyKeyFrameCollection”未实现继承的抽象成员“System.Windows.PresentationFrameworkCollection<MyKeyFrame>.IndexOfInternal(MyKeyFrame)”
“MyKeyFrameCollection”未实现继承的抽象成员“System.Windows.PresentationFrameworkCollection<MyKeyFrame>.ContainsInternal(MyKeyFrame)”
“MyKeyFrameCollection”未实现继承的抽象成员“System.Windows.PresentationFrameworkCollection<MyKeyFrame>.AddInternal(MyKeyFrame)”
我该如何从 bizarro world 实现这些方法,或者告诉 Visual Studio 停止抱怨并编译项目?
我已经尝试使用以下方法明确定义这些方法,但这些方法不起作用(正确地,根据之前的不存在评论):
void System.Windows.PresentationFrameworkCollection<MyKeyFrame>.AddInternal(MyKeyFrame keyFrame)
void System.Collections.Generic.IList<MyKeyFrame>.AddInternal(MyKeyFrame keyFrame)
void System.Collections.Generic.ICollection<MyKeyFrame>.AddInternal(MyKeyFrame keyFrame)
void System.Collections.IList.AddInternal(MyKeyFrame keyFrame)
void System.Collections.ICollection.AddInternal(MyKeyFrame keyFrame)
最后,并认为 MS 不希望社区制作 KeyFrameCollections?
编辑:我试过了,我唯一override
的选择是Equals
,GetHashCode
和ToString
. 这些抽象成员是否有可能protected internal
使现有的框架类可以继承它们,而自定义类不能?