`
sh2015yao
  • 浏览: 139266 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

C# 获得对象属性和属性值 C#利用反射遍历对象的属性和属性值

 
阅读更多

有一段时间没有写了

因为工作有点忙,没有时间去整理

实体类

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace WindowsFormsApplication1
{
    public class Contract
    {
        public string employeename { get; set; }
    }
}

 

遍历属性和属性值

 public void EachProperties()
        {
            Contract contract = new Contract { employeename = "Rikas" };
            Type type = contract.GetType();
            System.Reflection.PropertyInfo[] ps = type.GetProperties();
            foreach (PropertyInfo i in ps)
            {
                object obj = i.GetValue(contract, null);
                string name = i.Name;
            }
        }

当然还有判断属性类型的,我没有找到更好的方法判断一个累中的属性的类型是不是另一个类,如果有其他方法欢迎评论

 

public void EachProperties()
        {
            Contract contract = new Contract { employeename = "Rikas" };
            Type type = contract.GetType();
            System.Reflection.PropertyInfo[] ps = type.GetProperties();
            foreach (PropertyInfo i in ps)
            {
                if (i.PropertyType == typeof(string))//属性的类型判断
                {
                    object obj = i.GetValue(contract, null);
                    string name = i.Name;
                }
            }
        }

 

与大家分享

 

 

 

 

 

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    c#遍历obj属性用例

    在C#编程中,对象属性的遍历是一个常见的操作,尤其是在需要动态处理对象或进行反射操作时。根据给定的文件信息,我们将深入探讨如何在C#中遍历对象的属性,以及理解其中的关键概念。 ### 核心知识点:C#中的属性...

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

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

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

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

    C#遍历结构体

    3. **类型安全**:使用反射时,需要确保正确处理类型转换异常,如在获取属性值时使用`GetValue`方法,可能会抛出`InvalidCastException`。 ### 总结 通过上述代码片段的学习,我们不仅掌握了如何在C#中使用反射来...

    XmlDocument 节点遍历C#

    本篇文章将详细讲解如何利用C#中的`XmlDocument`类遍历XML文档的所有节点,包括节点名称、类型以及其属性。 首先,我们需要了解XML文档的基本结构,XML文档由元素(Element)、属性(Attribute)、文本(Text)等...

    arcgis 属性遍历插件

    一旦数据被加载,插件会自动遍历每一项记录,展示其属性值。这一特性对于数据审核、质量检查或特征分析等工作尤其有用。 在遍历过程中,插件的一个亮点是窗口自动定位。这意味着,每当你查看完一条记录的属性,窗口...

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

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

    C# LinqXML遍历指定节点下的所有对象

    对于每个`item`元素,我们访问其`id`属性值和文本内容。 除了`Descendants()`方法,还有`Elements()`方法用于获取当前元素的所有直接子元素,`Ancestors()`方法用于获取指定元素的所有祖先元素,以及`Attributes()`...

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

    首先新建一个实体类Person @Data public class Person { /** 编码 */ private String code; /** 名字 */ ...实例化三个对象放入list集合中 public static void main(String[] args) { Person pe

    C#特性与枚举值遍历

    通过理解并熟练运用C#中的枚举、反射和特性,开发者能够编写更加灵活且富有表达力的代码,提高代码的可读性和可维护性。同时,通过枚举的特性,我们可以为枚举成员添加更多的元数据,如描述,使得在开发过程中提供更...

    C#实现读取匿名对象属性值的方法示例总结

    C#实现读取匿名对象属性值的方法示例总结主要介绍了C#实现读取匿名对象属性值的方法,结合实例形式总结分析了C#通过反射、转换等方法读取匿名对象属性值的相关操作技巧。 在C#中,匿名对象是指使用var关键字声明的...

    C#动态对象(dynamic)详解(实现方法和属性的动态)

    C#中的动态对象`dynamic`关键字允许在运行时执行类型检查和绑定,使得代码更加灵活。下面我们将深入探讨`dynamic`的使用、属性实现以及如何模拟动态方法。 首先,`dynamic`关键字的主要目的是为了简化与非.NET框架...

    C# 获取遍历时间段小程序

    C#提供了`DateTime`结构来表示日期和时间,它包含了丰富的内置方法和属性,如`AddDays()`用于增加或减少日期,`ToString()`用于格式化日期字符串,以及`Day`、`Month`和`Year`等属性用于获取日期的各个部分。...

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

    最后,我们可以输出第一个实体类的`StrTemp`属性值来验证是否成功。 ```csharp Console.WriteLine(cs[0].StrTemp); ``` #### 总结 通过上述步骤,我们已经成功地将`DataSet`中的数据映射到了实体类中。这种方法...

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

    在深入探讨如何通过反射获取实体类的字段和值之前,我们先来理解一下反射是什么以及它在.NET框架...反射是一个强大的工具,合理利用它可以极大地提高代码的灵活性和重用性,但在使用时也需注意其潜在的性能和安全风险。

    用C#遍历XML.docx

    `WindowsApplication3`是自定义的命名空间,用于组织相关的类和对象。在C#中,命名空间帮助避免名称冲突,并提供代码的逻辑分组。 2. **类(Class)**: `Form1`是一个继承自`System.Windows.Forms.Form`的类,...

    C#反射生成SQL实例

    4. **动态SQL生成**:在构建SQL语句时,我们需要遍历对象的属性或字段,将它们的名字和值转化为SQL片段。例如,`SELECT ${FieldName} FROM ${TableName} WHERE ${Condition}`,这里的`${}`部分就是通过反射动态填充...

    C# 修改list所有对象中的某字段

    在C#编程中,我们经常需要操作集合,如List,进行数据的增删改查。本主题聚焦于如何修改List中所有对象的某个特定字段。Lambda表达式和ForEach方法是实现这一目标的常用工具。下面将详细介绍这两种方法。 **Lambda...

Global site tag (gtag.js) - Google Analytics