У меня есть ситуация, когда у меня есть несколько классов, которые имеют что-то общее и что-то уникальное. Я хотел бы создать класс, который более строго типизирован, чем объект [], но может содержать любой из этих других классов.Как создать пользовательский класс типа объекта в C#?
Если у меня есть, например:
class MyType1
{
string common1;
string common2;
string type1unique1;
string type1unique2;
//Constructors Here
}
class MyType2
{
string common1;
string common2;
string type2unique1;
string type2unique2;
//Constructors Here
}
я хотел бы создать класс что-то вроде:
class MyObject
{
string common1;
string common2;
//Code Here
}
Так что я создаю что-то вроде:
Dictionary<int, MyObject>
Это будет содержать либо MyType1, либо MyType2, но не строку или int или что-либо еще, что словарь будет удерживать. Сохраняемые там объекты MyObject должны быть готовы к переходу на MyType1 или MyType2 позже, чтобы получить доступ к уникальным атрибутам снизу.
Также было бы здорово, если бы я мог получить доступ к MyObject.common1 или MyObject.common2, не переделав его.
Звучит как прекрасный план, но вы точно не задавали вопрос. –
Что случилось со стандартным наследованием? – Cameron
есть много вопросов, уже охватывающих это на StackOverflow, например, проверьте [этот поиск] (http://stackoverflow.com/search?q= [c% 23] + наследование + база + класс). Возьмите 10 минут, чтобы пройти и прочитать выбор этих вопросов. – slugster