c# - 如何在 C# 模型中获取密钥?
问题描述
我想要一个循环,我可以在其中获取模型中的每个对象键。
我有这个模型:
public class RoleModel
{
public int ID { get; set; }
public string RoleName { get; set; }
public UserRoleModel TrackAndTrace { get; set; }
public UserRoleModel MailProcessing { get; set; }
}
我想实现类似:
for (var i = 0, len = Object.keys(RoleModel).length; i < len; i++) {
Console.Writeline(Object.keys(RoleModel)[i])
}
这将返回
ID
RoleName
TrackAndTrace
MailProcessing
解决方案
所以,你需要一个反射。反射是虚拟机 API。您可以使用它来获取类的元数据。请看例子:
PropertyInfo[] properties = typeof(RoleModel).GetProperties();
foreach (PropertyInfo property in properties)
{
Console.Writeline(property.Name);
}
推荐阅读
- postgresql - 如何从 net core api 使用 postgresql 数据库
- ocaml - 递归函数和“输入”错误
- spring-security - Spring Security:hasAuthority、hasRole 和 PreAuthorize 不起作用
- python - Python:将多个变量分配给另一个变量意味着什么
- c# - 确实选择了数据库时,MySQL(ADO.NET)给出“未选择数据库”错误
- python - Pipenv "ModuleNotFoundError: No module named 'pip'" 升级到 python3.7 后
- ruby-on-rails - 在 rails yml 文件中存储密码的最佳解决方案是什么?
- git - git ls-files --stage 即使在提交后也显示文件
- ruby-on-rails - 如何在 Vagrant 中创建 Oracle 数据库并在我的本地 Rails 应用程序和 SQL Developer 中连接到它?
- python-3.x - 使用 asyncio 同时运行的两个协程