これは私の抽象クラスです:
abstract class Enemy
{
protected static abstract float HEALTH
{
get;
}
float health;
void someMethod()
{
health = HEALTH;
}
}
これは私の派生クラスです:
abstract class BadGuy : Enemy
{
protected override static float HEALTH
{
get { return 1; }
}
}
Compiler さんは、Enemy クラスのメンバ HEALTH を static にすることも、abstract にすることもできないと言っています。
私の目標は、各子クラスに、親クラスからアクセスできる静的フィールドまたは定数フィールドを強制することです。
これに対する解決策はありますか?そうでない場合、最もエレガントな回避策は何ですか? プロパティを非静的にしますか?