Могу ли я иметь базовый класс, в котором каждый производный класс имеет свою собственную копию статического свойства?

У меня примерно такая ситуация:

class Base
{
     public static int x;
     public int myMethod()
     {
          x += 5;
          return x;
     }

}

class DerivedA : Base
{
}

class DerivedB : Base
{
}

Я пытаюсь настроить это так, чтобы каждый производный класс имел свой собственный статический экземпляр x, если я сделаю что-то вроде этого:

 DerivedA.x = 5;
 DerivedB.x = 10;

then когда я бегу:

 DerivedA.myMethod(); //The result will be 10
 DerivedB.myMethod(); //The reusult will be 15

Могу я сделать что-то подобное? Как я могу настроить производные классы для этого? Спасибо, ребята.

РЕДАКТИРОВАТЬ: В принципе, у меня есть несколько производных классов, каждый из которых имеет свойство, уникальное для этого класса. Он не меняется для каждого экземпляра, и поэтому я считаю, что это должна быть статическая переменная. Кроме того, это свойство задается методом, одинаковым для каждого из этих классов. Я пытаюсь избежать копирования и вставки логики для этого свойства и метода в каждый из этих производных классов. Я подумал, что лучше как-то перенести эту логику в базовый класс, от которого происходит каждый из этих классов. Но мне нужно, чтобы у каждого производного класса была собственная копия этого свойства. Мне не обязательно делать это таким образом, и я буду рад услышать предложения по передовому опыту, если они у вас есть .. Спасибо!

5
задан ntsue 20 February 2011 в 21:51
поделиться