`
zxlyecf2
  • 浏览: 133512 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

C#获取实体类属性名和值 | 遍历类对象

    博客分类:
  • C#
 
阅读更多

遍历获得一个实体类的所有属性名,以及该类的所有属性的值
//先定义一个类:

public class User
{
  public string name { get; set; }
  public string gender { get; set; }
  public string age { get; set; }
}
//实例化类,并给实列化对像的属性赋值:

User u = new User();
u.name = "ahbool";
u.gender = "男";

//输出此类的所有属性名和属性对应的值

Response.Write(getProperties(u));

//输出结果为: name:ahbool,gender:男,age:,

//遍历获取类的属性及属性的值:

public string getProperties<T>(T t)
{
  string tStr = string.Empty;
  if (t == null)
  {
    return tStr;
  }
  System.Reflection.PropertyInfo[] properties = t.GetType().GetProperties(System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.Public);

  if (properties.Length <= 0)
  {
    return tStr;
  }
  foreach (System.Reflection.PropertyInfo item in properties)
  {
    string name = item.Name;
    object value = item.GetValue(t, null);
    if (item.PropertyType.IsValueType || item.PropertyType.Name.StartsWith("String"))
    {
      tStr += string.Format("{0}:{1},", name, value);
    }
    else
    {
      getProperties(value);
    }
  }
  return tStr;
}

 

分享到:
评论

相关推荐

    C#编程获取实体类属性名和值的方法示例

    在C#编程中,获取实体类的属性名和值是一项常见的需求,这通常涉及到反射(Reflection)技术。本文将详细讲解如何实现这一功能,并提供一个示例代码。 首先,我们需要了解实体类(Entity Class)的概念。实体类是...

    C#数据实体类中如何给属性赋值

    // 获取实体类中的属性信息 PropertyInfo pi = c.GetType().GetProperty(dc.ColumnName); if (pi != null) { // 设置属性值 pi.SetValue(c, dr1[dc.ColumnName], null); } } // 将实体类添加到列表中 cs...

    C# Dynamic通用反序列化Json类型并遍历属性比较

    个API结果比较的工具,比较的内容就是Json内容,但是为了实现宽泛的内容相等即只需要字段和值相等即可,不需要字符串严格相等,这种情况下就需要将Json内容字符串转换成具体的对象,出于通用性方面的考虑希望这个...

    通过反射获得实体类的字段和值

    在深入探讨如何通过反射获取实体类的字段和值之前,我们先来理解一下反射是什么以及它在.NET框架中的作用。反射是一种强大的编程技术,允许运行时动态地获取类型的信息并操作对象。它提供了对程序集、模块、类型、...

    C#实现实体类与字符串互相转换的方法

    这个过程通常涉及到遍历实体类的所有公共属性(Public Properties),并将属性名和对应的属性值拼接成一个字符串。以下是一个简单的示例: ```csharp public class PackReflectionEntity { public static string ...

    C#中使用反射遍历一个对象属性及值的小技巧

    在C#编程中,反射是一种强大的机制,它允许运行时检查和操作程序集、类型、方法、属性等元数据。反射通常用于动态类型创建、执行未事先硬编码的方法,以及在运行时发现类的结构。在本文中,我们将探讨如何使用反射...

    C#通过属性名字符串获取、设置对象属性值操作示例

    C# 通过属性名字符串获取、设置对象属性值操作示例主要介绍了 C# 通过反射获取对象属性值并设置属性值、获取对象的所有属性名称及类型等相关操作技巧。下面是详细的知识点解释: 一、通过反射获取对象属性值 在 C#...

    C#+实体类反射+初阶

    例如,我们可以使用`typeof(Student)`来获取`Student`类的`Type`对象,然后遍历其所有属性,从而实现增删改查的通用代码。这样做的好处是减少了重复代码,提高了代码的可维护性和灵活性。 数据操作通常涉及到CRUD...

    不用遍历的方式在对象集合list中抽取属性集合转化为map或list

    首先新建一个实体类Person @Data public class Person { /** 编码 */ private String code; /** 名字 */ private String name; public Person(String code, String name) { this.code = code; this.name = ...

    把实体类数组转换为DataTable C#

    - 遍历和反射技术,用于获取类的属性信息并设置DataTable的列和行 - 数据操作和绑定,DataTable作为数据源在各种控件中的使用 以上就是如何在C#中将实体类数组转换为DataTable的详细步骤和相关知识,希望对您有所...

    用C#在NX上写的一个小程序:遍历part文件得到实体及实体上的特征

    在C#中,类是组织代码的基本单元,通常包含属性、方法和事件。`Class1`可能是程序的主类,负责初始化NXOpen会话,调用遍历Part和特征的函数,并可能包含事件处理逻辑。 6. **实际应用**:这样的程序可能被用于多种...

    C#利用反射机制填充实体类

    方法通过遍历数据行的每一列,获取对应的属性,并使用`SetValue`方法将列值设置到实体类的属性上。 在三层结构(表现层、业务逻辑层、数据访问层)中,反射机制常常用于数据绑定和数据持久化。例如,在数据访问层,...

    C#中获取注释信息的实例

    本实例将探讨如何在C#中获取属性、方法声明前面的“///”注释,这些注释通常用于生成XML文档。XML文档有助于提供代码的清晰说明,方便其他开发者理解和使用。 首先,我们需要了解C#中的三种类型注释: 1. 单行注释...

    反射,DataRow转换为实体类

    我们需要遍历这个数组,同时获取实体类对应的属性。 ```csharp PropertyInfo[] properties = entityType.GetProperties(); for (int i = 0; i ; i++) { // ... } ``` 3. **设置属性值**:对于每个`DataRow`的列,...

    C#代码生成器(包括T-sql语句,和实体类代码)

    在这个代码生成器中,反射被用来获取实体类的元数据,如属性名称、类型等,然后依据这些信息构建T-SQL语句。此外,通过反射技术,可以动态加载生成的DLL文件,使得在不重新编译整个项目的情况下就能引入新的实体类。...

    数据字典生成工具源码 (c#)

    在生成数据字典时,反射可以用来获取数据库中每个表对应的实体类信息,包括类名、属性名(对应数据库字段)和属性类型。 3. **XML序列化与反序列化**:数据字典通常会以XML或JSON格式保存,便于读写和交换。C#提供...

    DataReader反射泛型实体对象

    这个方法首先检查`DataReader`是否有数据,然后创建一个新实例的`T`(假设它有一个无参构造函数),获取`T`的所有公共属性,遍历每一列,将数据库的值设置到对应的属性上。注意这里需要处理`DBNull`值,因为数据库中...

    CAD-CASS下实体的扩展属性XDATA.rar_CAD属性_Cass_c# xdata_cad 扩展属性_cadcass编

    这个“CAD-CASS下实体的扩展属性XDATA.doc”文档很可能详细介绍了如何在C#环境中操作XDATA,包括设置、读取、遍历以及与其他数据源同步的方法。此外,它可能还会涵盖如何处理异常、优化性能,以及与其他AutoCAD或...

    类属性拷贝器(源码)

    在C#中,属性(Property)是类的一个特性,它提供了对字段(Field)的封装,允许通过getter和setter方法来获取和设置字段的值。属性可以有默认值、访问修饰符、以及自定义的赋值逻辑,这使得属性拷贝需要处理多种...

    C#试题库最全版

    3. 对象:在C#中,万物皆对象,包括实体对象和抽象概念。 4. 运算符`+=`:这是一个复合赋值运算符,它将右边的操作数加到左边的操作数上,并将结果赋值回左边的变量。 5. `Array`类:这是所有数组的基类,提供了一...

Global site tag (gtag.js) - Google Analytics