У меня есть представление, что я хотел бы дать модель, но модель может быть двух типов. Пример:с использованием дженериков для просмотра модели
public class Super {
public string Name = "super";
}
public class Sub1 : Super {
public string Name = "sub1";
}
public class sub2 : Super {
public string Name = "sub2";
}
Я пытаюсь экспериментировать с обобщениями, и, глядя на некоторые другие вопросы, которые я вижу, я могу сделать следующее, однако, я объявить переменную внутри класса правильно?
public class Generic<T> where T : Super {
public T SubClass { get; set; } //is this ok?
}
Если это нормально, как бы добавить такой класс, как модель, в представление?
@model Generic<??>
<div>@Model.SubClass.Name</div>
это возможно, я на правильном пути, или я просто делаю целую кучу ничего?
Я не думаю, что вам нужно дженерики для этого. Замените 'T' на' Super'. – Matthew
Вы можете это сделать, но я не вижу здесь никаких веских оснований. Может быть, вам нужно добавить еще какой-то конкретный контекст? В стороне, повторное объявление 'Name' скроет член в базовом классе и, возможно, не будет вести себя так, как вы ожидаете. –