发表于: 2/12/2023
省流:在C#中静态成员是相同类型共有的,即,派生类型与基类型公用同一个静态成员。
例如
class Base{
static int data = 0;
}
class A : Base{}
修改Base.data
后,访问A.data
也会获得修改后的值。
很trivial对不对?
The Non-trivials
class Base<K, V>{
static Dictionary<K, V> data;
static void Save(){
// ... save data to somewhere
}
static void Load(){
// ... load data from somewhere
}
}
class SomeDataType: Base<int, SomeDataType>{
static Dictionary<..> otherNewData;
new static void Save(){
Base<int, SomeDataType>.Save();
// ... save new data to somewhere
}
new static void Load(){
Base<int, SomeDataType>.Load();
// ... load new data from somewhere
}
}
上述代码得以正常运作。 虽然细想一下就可以明白,不过初次遇见还是有些被迷惑住。