我最近遇到了一個問題,它似乎我需要'靜態抽象'方法。我知道爲什麼這是不可能的,但我該如何解決這個限制?C#,實現'靜態抽象'像方法
例如,我有一個抽象類,它有一個描述字符串。由於這個字串是通用於所有的情況下,它被標記爲靜態的,但我想需要從這個類派生的所有類提供自己的描述屬性,因此我將其標記爲抽象:
abstract class AbstractBase
{
...
public static abstract string Description{get;}
...
}
它不會當然編譯。我想過使用接口,但接口可能不包含靜態方法簽名。
我應該讓它變得非靜態,並且總是得到一個實例來獲取該類的特定信息嗎?
任何想法?
與此問題類似http://stackoverflow.com/questions/763344/c-virtual-or-abstract-static-methods/763364#763364 – 2009-05-05 07:07:14
可能的重複[爲什麼我不能在C#中使用抽象靜態方法? ?](https://stackoverflow.com/questions/3284/why-cant-i-have-abstract-static-methods-in-c) – 2018-01-10 04:57:47
[如何實現虛擬靜態屬性?](https:/ /stackoverflow.com/questions/15346631/how-to-implement-virtual-static-properties) – peterh 2018-01-10 11:13:37