我有 2 种类型:BaseQuestion
和Question
. Question
从 继承一些属性BaseQuestion
。现在我已经创建了一个 Web API 来提供一个BaseQuestion
可用的。该Question
数据类型具有我不想提供的其他属性。我有一个检索 a 的方法,Question
我最初的计划是将它隐式向上转换为BaseQuestion
. 我认为它会丢失所有我不想访问的额外属性,我可以将其归还。好吧,它没有。这就是我所做的:
Question q = allQuestions[0];
BaseQuestion bq = q;
string type = bq.GetType().ToString();
bq 的类型仍然是“问题”。我无法访问 BaseQuestion 属性,但我仍然可以在调试器中看到它们,并且它们位于我发送给客户端的 JSON 输出中。
关于如何“强制” bq 成为类型BaseQuestion
而不具有子类中定义的任何属性的任何想法?