|
|
1
22
过时 在类B中,重写MethodToHide并添加过时属性
设置EditorBrowsable (如前所述) 在类B中,重写MethodToHide并添加EditorBrowsable属性
抛出异常 (如前所述) 在类B中,重写MethodToHide并引发异常。 创建包装器 Adapter pattern . 这种模式还允许在单元测试时更容易地模拟代码。
|
|
|
2
21
您不能这样做并保留层次结构。如果可能,您应该创建定义理想的接口,然后对基类进行子类化并实现接口。在代码中只引用接口(而不是基类类型)。 |
|
|
3
14
如果你想定制一组特性,我想说你想做一个包装器而不是继承功能。我也不知道如何在C#中实现你的愿望。
想想看,如果你控制之外的一些代码想要这个呢
|
|
|
4
6
如果您使用的是Visual Studio,则可以使用以下属性对intelliprompt隐藏方法/属性:
|
|
|
5
4
在我看来,如果您只是想隐藏而不是真正覆盖和外部化一个新的函数,那么最好的方法就是添加一个EditorBrowsableState属性。 只需在方法的顶部添加以下代码:
例如
祝你好运:) |
|
|
6
1
C++中没有类似于受保护或私有继承的概念。 最好的选择是聚合类的一个实例,并公开用户有权访问的感兴趣的方法集。 虽然在您的情况下,我认为这是不可能的,但是您可以考虑创建一个只公开您希望消费者使用的常见功能的接口,以便在某些情况下包装器可以替换为它的聚合。 |
|
7
1
我从来不知道你可以用C++做这件事,虽然我对C++不太了解。恐怕我同意布利克斯的说法 这可能是我实现这一点的方式。 它可能会工作(但我不确定)只是 并在调用时抛出异常。。。。 |
|
|
8
1
据我所知,你不能以你想要的方式隐藏它。我认为你可以阻止它以任何实际的方式被使用,尽管:
但这不是最好的办法,所以你可能想用其他方法来解决它。。。 |
|
|
9
1
实际上,如果您将B的方法定义为可从C访问,则可以对C隐藏A的方法。 代码的唯一问题是在隐藏声明中使用了“private”。。。如果您使用protected或public,您将不会遇到任何问题,它将按照您的预期运行。我总是用字段来做这些。 |
|
10
0
|
|
|
A B · C#Excel自动调整列避免长文本时出错 1 年前 |
|
|
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 1 年前 |
|
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 1 年前 |
|
|
Sei · Avalonia/WPF将路由器传递到控制模板 1 年前 |