Я пытаюсь улучшить часть кода, который я написал, но мне нужна ваша помощь.Как создать список классов в C#
В принципе, у меня есть 2 классов TypeARecommendationForm
и TypeBRecommendationForm
, наследуемые от GenericRecommendationForm
, и я пытаюсь скопировать объект oRecommendation
в новом объекте.
Для этого я проверяю тип, чтобы узнать, какой класс использовать.
Проблема в том, что иногда я создаю новые классы, которые наследуют от GenericRecommendationForm
, и мне нужно пройти через все коды, чтобы увидеть, где добавить эти операторы if, поскольку у меня есть их в нескольких местах.
Что бы я хотел, это иметь список классов, чтобы при добавлении новых классов мне просто нужно было добавить его в список.
Кто-нибудь знает, как это сделать?
Вот код:
GenericRecommendationForm oRecommendation= new GenericRecommendationForm();
...
if (oRecommendation.GetType() == typeof(TypeARecommendationForm))
{
recommendationForm = new TypeARecommendationForm((TypeARecommendationForm)oRecommendation);
}
if (oRecommendation.GetType() == typeof(TypeBRecommendationForm))
{
recommendationForm = new TypeBRecommendationForm((TypeBRecommendationForm)oRecommendation);
}
else if (oRecommendation.GetType() == typeof(GenericRecommendationForm))
{
recommendationForm = new GenericRecommendationForm(oRecommendation);
}
Заранее спасибо за вашу помощь.
Создание списка типа '' List
Строка 'GenericRecommendationForm oRecommendation = новый GenericRecommendationForm();' всегда будет приводить к выполнению последнего 'else if'. Я предполагаю, что строка предназначена только для иллюстрации и не существует в вашем реальном коде? –
http://dictionary.reference.com/browse/inherit – theyetiman