c# - 返回基本类型时从继承中获取值
问题描述
情况:IdentityUser 被 AppUser 继承。
AppUser 还有一些属性。((int)ExClientNr 和(string)Category)
在上面
UserManager <IdentityUser> userManager
要求
var user = await userManager.FindByEmailAsync(Input.Email);
当我在运行时将鼠标悬停在用户(IdentityUser 类型)上时,我会看到列表中包含值的所有 AppUser 属性。
但是当我输入
var exClientNr = User.ExClientNr;
在智能感知中无法识别 ExClientNr 或 Category 字段。IdentityUser 的所有字段都是有原因的。
User.Getype() 给了我 {Name="AppUser" FullName="namespace.Models.AppUser"} 所以它甚至知道他的类型。
问题:谁能告诉我如何从这个对象的那些额外属性中获取值。
解决方案
您可以使用具有正确类型的通用 UserManager:
UserManager <AppUser> userManager
或者在运行时投射您的用户:
var user = await userManager.FindByEmailAsync(Input.Email);
var exClientNr = (user as AppUser)?.ExClientNr;
推荐阅读
- html - 悬停事件不会在 devtools 中显示更改的样式,直到我强制 devtools 的悬停状态
- java - 通过 GSON 获取作为对象内对象的 JSON 值的问题
- css - 引导容器居中
- java - servlet 中的请求和响应对象
- sqlite - 事务是否确保不会发生脏读?
- php - 如何将这个多维数组分成三个指定的部分?
- javascript - keep modal open despite clicking on it
- azure - Azure ACS AzureFile 动态持久卷声明
- sql - XQuery 中有动态绑定吗?
- angular - 将字符串从 MatToggleButton 复制到 Angular 5 自动完成输入字段中