.net 获取实体类的属性

  protected string Test(T_MODEL model)
        {
            
            //取得m的Type实例
            Type t = model.GetType();

            string strResult = "";

            string strColumn ="ID";

            strResult = model.GetType().GetProperty(strColumn).GetValue(model, null).ToString();//直接根据属性的名字获取其值
            
            //取得类的属性名并获取属性值
            foreach (System.Reflection.PropertyInfo s in t.GetProperties()) //循环遍历
            {
                if (s.Name == "ID")
                {
                    strResult = s.GetValue(model, null).ToString();
                }
                
            }

            return strResult;
        }

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
.NET 反射是指在运行时获取一个对象的类型信息并获取对象的成员(属性、方法、字段等)的能力。要获取一个实体类型的字段,可以使用反射中的Type类和FieldInfo类。下面通过以下步骤来获取实体的字段(不包括外键): 1. 首先获取实体类型的Type对象。可以使用typeof操作符,例如:Type entityType = typeof(实体类型); 2. 通过Type对象获取所有字段的FieldInfo对象数组。可以使用Type的GetFields方法来获取所有的公共字段,该方法返回一个FieldInfo对象数组; 3. 遍历FieldInfo数组,将非外键字段的名称或相关信息保存在一个集合中。可以使用FieldInfo的IsDefined方法和GetCustomAttributes方法来判断字段是否被定义了特定的特性,从而判断是否为外键字段; 4. 返回保存了非外键字段信息的集合。 例如,以下是一个用于获取实体类型的非外键字段的示例方法: ```csharp public List<string> GetEntityFields(Type entityType) { List<string> fieldList = new List<string>(); FieldInfo[] fields = entityType.GetFields(); foreach (FieldInfo field in fields) { // 判断字段是否被定义了外键特性,这里假设外键特性为ForeignKeyAttribute if (!field.IsDefined(typeof(ForeignKeyAttribute), inherit: false)) { fieldList.Add(field.Name); } } return fieldList; } ``` 注意,以上示例中的ForeignKeyAttribute是一个假设的外键特性的类名。实际使用时,你需要根据实际情况替换为实际的外键特性类名。另外,以上只是示例中的一种判断非外键字段的方法,实际应用中可以根据具体需求进行适当修改。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值