重写函数而不创建新的 class C#
Override function without creating new class C#
我有以下场景:
public abstract class SomeClass
{
public virtual Foo()
{
//do stuff
}
}
我把这个 class 存储在另一个 class
SomeClass InstanceOfTheClass { get; set; }
如何只覆盖 SomeClass
中的函数 Foo
而无需创建继承自 SomeClass
的新 class 然后覆盖该函数?
不可能。
The virtual keyword is used to modify a method, property, indexer, or event declaration and allow for it to be overridden in a derived class.
此外,SomeClass
是抽象的,无论如何您都无法创建它的实例 =/
如果它只是您想要复制的行为,您可以定义一个接口 IFoo
并在您的 class.
中实现它
我有以下场景:
public abstract class SomeClass
{
public virtual Foo()
{
//do stuff
}
}
我把这个 class 存储在另一个 class
SomeClass InstanceOfTheClass { get; set; }
如何只覆盖 SomeClass
中的函数 Foo
而无需创建继承自 SomeClass
的新 class 然后覆盖该函数?
不可能。
The virtual keyword is used to modify a method, property, indexer, or event declaration and allow for it to be overridden in a derived class.
此外,SomeClass
是抽象的,无论如何您都无法创建它的实例 =/
如果它只是您想要复制的行为,您可以定义一个接口 IFoo
并在您的 class.