-5

我有两个类,一个是基类,第二个是派生类。想要限制对象切片,我该如何使用 C#.net 来做到这一点?

4

1 回答 1

0

更新:

我最初的想法如下所述被认为不正确:请参阅:C++ slicing in Java / C#


原答案:

如果我理解正确,这是一个理论问题。 REDUCING切片可以通过不在派生类中定义新成员来完成。

将派生类的实例分配给基类引用类型时会发生切片。在这种情况下,系统不知道在哪里分配新的数据类型,因为它仅在派生类中定义,而不是在基类中定义。

但是没有办法RESTRICT,这是假设发生的,它被定义为

子类对象赋值的自然且不可避免的结果

对象切片 - 维基百科

但是,您可以声明一个类sealed以防止限制对象切片的继承,因为它将阻止原因(继承),因此您将没有派生类按值分配给基引用。

于 2012-10-03T14:03:51.730 回答