我最近遇到了一个问题,它似乎我需要'静态抽象'方法。我知道为什么这是不可能的,但我该如何解决这个限制?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