manipulate fields of class

Hello,

let’s say I have an object ''CharObj" of Class Character. The class has field Dictionary to keep character values for strength, intelligence, agility (which are fields).
Now I want to modify the class (with gui but thats not important) to have field power instead of strenght.
Do i need to modify the file Character.cs or can i somehow manipulate the elements of class? via abstract class or interface?
example

public class Character
{
int strength;
int intelligence;
Dictionary<string, int> abilities;
}

public class Character2
{
int power;
int intelligence;
Dictionary<string,int> abilities;
}
//
 public class Character : CharacterAbilities
    {
        Dictionary<string, int> abilities;
        public Dictionary<string, int> Abilities{
            get { return abilities; }
            set { abilities = value; } }
        public int Strength {
            get{return abilities["strength"];  }
            set  {  abilities["strength"] = value;  }  }
        public int Agility {
            get  {  return abilities["agility"];   }
            set  {abilities["agility"] = value;  }   }
}

    public interface CharacterAbilities
    {
        int Strength
        {
            get;
            set;
        }
        int Agility
        {
            get;
            set;
        }
}

if i modify the class file then i will have to modify all the code for initializing objects if i add a new or delete new field in the class, right? Can it be ommited somehow?

Right click on field that you want to change

Select Refactor → Rename

It will rename in all files where you used that field.