- Home /
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?
Answer by Brijs · Jun 13, 2016 at 10:05 AM
Right click on field that you want to change
Select Refactor --> Rename
It will rename in all files where you used that field.
Your answer
Follow this Question
Related Questions
What's the use of abstract classes and interfaces in a game? 2 Answers
Some JavaScript questions 1 Answer
Use abstract class for GetComponent? 0 Answers
Accessing interface in a derived class through the parent class 0 Answers
Class derivation problem 1 Answer