c# - 有没有一种方法可以访问 .net 实体属性,而无需使用数组循环直接调用它?

标签 c# .net asp.net-mvc entity-relationship

在 Entities 文件夹中,我们有不同类型的实体,例如 User.cs。在 User.cs 中,我们有该实体的属性,例如:

    public string UserName { get; set; }
    public string ProfileImagePath { get; set; }

除了像 User.UserName 一样直接调用这些属性之外,还有其他方法可以访问这些属性吗?

如果我们可以循环浏览属性列表而不必知道属性名称,那就太好了。我们正在考虑实体中的第一个属性可能是类似 User[0] 的东西。谢谢!

最佳答案

您可以使用反射:

foreach(var property in entity.GetType().GetProperties()){
    var value = property.GetValue(entity, null);
    // do whatever you want to do with the value
}

您可能必须添加一些BindingFlags,例如BindingFlag.InstanceBindingFlags.Public(我不太确定默认值)。如果是这种情况,请使用 entity.GetType().GetProperties(BindingFlag.Instance || BindingFlags.Public)

关于c# - 有没有一种方法可以访问 .net 实体属性,而无需使用数组循环直接调用它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11182292/

相关文章:

javascript - 在 asp.net MVC 中推迟 javascript 的加载

c# - 创建实体后编辑 CRM 实体。 CRM 动态插件

c# - 为什么默认的字符串比较器无法保持传递一致性?

c# - 如何组合||条件语句中的运算符

c# - StructureMap:如何对注册表类进行单元测试?

asp.net-mvc - Controller Action 调用者

c# - 在 C# 中使用 Python 对象

C# webservice 将类转换为自身

.net - 如何计算字符串列表的良好哈希码?

javascript - 谷歌地图不显示 map ,也不显示标记