1
我想允許我的所有子對象實現靜態方法。例如:強制子對象實現靜態方法
public abstract class A {}
public class B : A {}
public class C : A {}
欲B和C具有的DoSomething()靜態方法中,在那裏將默認實現DoSomething的的()。
這樣做的做法是什麼?
我想允許我的所有子對象實現靜態方法。例如:強制子對象實現靜態方法
public abstract class A {}
public class B : A {}
public class C : A {}
欲B和C具有的DoSomething()靜態方法中,在那裏將默認實現DoSomething的的()。
這樣做的做法是什麼?
你不能這樣做。無論如何,您無法通過多種方式調用的靜態方法。基本上,靜態成員和多態不能一起工作。要麼放棄多態性,要麼創建一個並行類型層次結構,其中這些是實例方法。
你能看到理論上能夠做到這一點的任何優點嗎? – JonAlb
@JonAlb:在某些情況下,是的。例如,請參閱http://msmvps.com/blogs/jon_skeet/archive/2008/08/29/lessons-learned-from-protocol-buffers-part-4-static-interfaces.aspx。 –