所以基本上我有一个对象,它接受实例并将它们添加到列表中。每个实例都使用虚拟方法,创建实例后我需要重写这些方法。我将如何覆盖实例的方法?
你不能。您只能在定义类时重写方法。
最好的选择是使用适当的Func
委托作为占位符并允许调用者以这种方式提供实现:
public class SomeClass
{
public Func<string> Method { get; set; }
public void PrintSomething()
{
if(Method != null) Console.WriteLine(Method());
}
}
// Elsewhere in your application
var instance = new SomeClass();
instance.Method = () => "Hello World!";
instance.PrintSomething(); // Prints "Hello World!"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)