I have three different classes in my current project structured as below:
class BaseClass {
public string prop1;
public string prop2;
public string prop3;
}
class C1 : BaseClass {
public string prop3; // Common with class C2
public string prop4;
}
class C2 : BaseClass {
public string prop3; // Common with class C1
public string prop5;
}
I need to have an object which includes prop1, prop2, prop3, prop4, and prop5; but I don't want to have a duplication definition. I don't want to create a new class like this:
class NewClass {
public string prop1;
public string prop2;
public string prop3;
public string prop4;
public string prop5;
}
Is there a way (like interface, or abstract class, or anything else) that I can refactor my old classes into so that I can have an object with all 5 properties without defining a new class?