Phi*_*ier 8 .net c# overriding visibility
我目前正在使用另一个.net库的ac#项目.该库(除其他外)将序列解析为树.所有项都是从抽象类继承的某种类型Sequence.我需要稍微改变行为并将Sequence自己子类化(让我们称之为MySequence).树创建后,我可以用我自己的类的对象替换一些树节点.
现在,发布了新版本的库,并Copy引入了具有以下签名的函数:
internal abstract Sequence Copy();
Run Code Online (Sandbox Code Playgroud)
我试图将我的代码用于新版本并覆盖它,但无论我做什么,我都会遇到两个错误:
MySequence没有实现继承的抽象成员'Sequence.Copy()'
和:
MySequence.Copy()':找不到合适的方法来覆盖
这是有道理的,因为它是抽象的( - >它必须被覆盖)和内部的( - >它不能被覆盖,因为来自程序集外部的隐藏可见性)
所以,问题是,我明白为什么会这样,但不知道该怎么办.对我的项目来说,子类是至关重要的Sequence.
而我也不明白的是,为什么internal abstract首先允许使用modfier,因为它基本上允许从程序集外部对整个类进行任何子类化!
有什么方法可以解决这个问题吗?通过反思或什么?
提前致谢!
| 归档时间: |
|
| 查看次数: |
3958 次 |
| 最近记录: |