我想要一些类,它们都扩展一个基本抽象类。
然后,我想要每个对象都存储这些类的子集并调用它们实现的方法。
所以我想 - 我对存储的对象什么都不做,所以让我们将这些类设为静态,我不会在存储对象上浪费内存,只是引用静态类,所以我可以调用静态函数。问题是 - 我该怎么做?
对于那些喜欢代码的人,这是我需要的:
public static abstract class A {
public static abstract void F();
}
public static class B : A {
public static override void F() {
...
}
}
// Class Storage of course does NOT work, its just here to illustrate what I need
public class Storage {
private List<A> list;
public void AddElement(A element) {
list.Add(element);
}
public void DoStuff() {
foreach(A element in list)
element::F();
}
}
有没有办法做这样的事情?还是针对此类问题的不同解决方案?