如何遍历嵌套类并将对象传递给函数

尼尔特

我有以下课程,其中有两个嵌套的课程;

public class Request
{
    public Hotel Hotel {get;set;}
    public Room Room {get;set;}
}

嵌套类

public class Hotel
{
    public int HotelId {get;set;}
    public string Name {get;set;}
    public string Address {get;set;}
    public string CountryCode {get;set;}
}

public class Room
{
   public int RoomId {get;set;}
   public string Name {get;set;}
}

基本上,我可以很好地创建对象;

Request oRequest = new Request();

我想做的是能够遍历该类,找到任何嵌套的类并将它们传递给类似的函数

Type t = oBookingRequest.GetType();

foreach (PropertyInfo pi in t.GetProperties())
{
   CallMyFunction(pi);
}

我遇到的问题是,在调用CallMyFunction(pi)时,我实际上无法查看类属性值,就好像我没有将pi作为实际对象传递一样吗?我这样做是否正确,因为如果我调用函数CallMyFunction(oRequest.Hotel),它可以正常工作。

编辑:

函数CallMyFunction是一个使用ValidationResult的ValidationContext函数,因此我需要传递包含所有属性而不是每个属性值的实际对象。函数CallMyFunction是

    private List<ValidationResult> CallMyFunction (object oObject)
    {
        var context = new ValidationContext(oObject, serviceProvider: null, items: null);
        var results = new List<ValidationResult>();
        Validator.TryValidateObject(oObject, context, results, false);

        return results;
    }
编码阴谋

您需要使用PropertyInfo.GetValue将属性的实际值传递到函数中

foreach (PropertyInfo pi in t.GetProperties())
{
  CallMyFunction(pi.GetValue(oBookingRequest, null));
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何初始化一个类并将对象传递给Android中的构造函数?

来自分类Dev

如何将对象传递给函数并将结果返回给原始函数

来自分类Dev

如何通过引用将对象传递给构造函数

来自分类Dev

如何将对象传递给单独的函数-Python

来自分类Dev

如何将对象传递给CasperJS函数

来自分类Dev

如何将对象传递给 std::accumulate 函数?

来自分类Dev

c ++:将对象传递给函数

来自分类Dev

将对象传递给PowerShell函数

来自分类Dev

将对象传递给函数方法

来自分类Dev

将对象传递给函数时,如何防止模板化构造函数将类作为参数

来自分类Dev

使用映射并将对象传递给后续函数调用

来自分类Dev

使用映射并将对象传递给后续函数调用

来自分类Dev

将对象传递给函数调用中的函数

来自分类Dev

C#静态类:我应该将对象传递给构造函数吗?

来自分类Dev

使用structuremap在运行时将对象传递给类构造函数

来自分类Dev

Vaadin 12将对象传递给JavaScript函数:无法编码类

来自分类Dev

C#静态类:我应该将对象传递给构造函数吗?

来自分类Dev

将对象传递给JCL加载的类

来自分类Dev

动态将对象传递给类方法

来自分类Dev

Java,将对象传递给其他类

来自分类Dev

qt将对象传递给不同的类

来自分类Dev

在jQuery中将对象传递给回调函数

来自分类Dev

正在通过引用将对象传递给构造函数

来自分类Dev

将对象传递给Lua函数始终引用自身

来自分类Dev

无法将对象传递给Typescript中的构造函数

来自分类Dev

将对象传递给R中的generate()评估的函数

来自分类Dev

在jQuery中将对象传递给回调函数

来自分类Dev

将对象传递给函数或子过程

来自分类Dev

如何将类的对象传递给对象的类函数中的函数?

Related 相关文章

  1. 1

    如何初始化一个类并将对象传递给Android中的构造函数?

  2. 2

    如何将对象传递给函数并将结果返回给原始函数

  3. 3

    如何通过引用将对象传递给构造函数

  4. 4

    如何将对象传递给单独的函数-Python

  5. 5

    如何将对象传递给CasperJS函数

  6. 6

    如何将对象传递给 std::accumulate 函数?

  7. 7

    c ++:将对象传递给函数

  8. 8

    将对象传递给PowerShell函数

  9. 9

    将对象传递给函数方法

  10. 10

    将对象传递给函数时,如何防止模板化构造函数将类作为参数

  11. 11

    使用映射并将对象传递给后续函数调用

  12. 12

    使用映射并将对象传递给后续函数调用

  13. 13

    将对象传递给函数调用中的函数

  14. 14

    C#静态类:我应该将对象传递给构造函数吗?

  15. 15

    使用structuremap在运行时将对象传递给类构造函数

  16. 16

    Vaadin 12将对象传递给JavaScript函数:无法编码类

  17. 17

    C#静态类:我应该将对象传递给构造函数吗?

  18. 18

    将对象传递给JCL加载的类

  19. 19

    动态将对象传递给类方法

  20. 20

    Java,将对象传递给其他类

  21. 21

    qt将对象传递给不同的类

  22. 22

    在jQuery中将对象传递给回调函数

  23. 23

    正在通过引用将对象传递给构造函数

  24. 24

    将对象传递给Lua函数始终引用自身

  25. 25

    无法将对象传递给Typescript中的构造函数

  26. 26

    将对象传递给R中的generate()评估的函数

  27. 27

    在jQuery中将对象传递给回调函数

  28. 28

    将对象传递给函数或子过程

  29. 29

    如何将类的对象传递给对象的类函数中的函数?

热门标签

归档