我有 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而不具有子类中定义的任何属性的任何想法?