• 比较两个enumrations的PropertyInfo的,结果从反射

  • 本文关于 c#,.net,反射reflection
  • CodeGo.net > 比较两个enumrations的PropertyInfo的,结果从反射
  •  

    比较两个enumrations的PropertyInfo的,结果从反射



    c# .net 反射reflection
    我有对象的两种状态,我想一个初始状态和最终state.I捕获所有注明的特定状态,通过反射性能,我想这两个州,检查它们是否相等,或not.I有这样的尝试,但我相信这是低效的更过它不工作:D。
    private static bool areSame(IEnumerable<PropertyInfo> initial,IEnumerable<PropertyInfo> final)
     {
    
      foreach (PropertyInfo initialPropertyInfo in initial)
      {
       foreach (PropertyInfo finalPropertyInfo in final)
       {
        if (initialPropertyInfo.Name == finalPropertyInfo.Name)
        {
         if (initialPropertyInfo.GetValue(initialViewModel) != finalPropertyInfo.GetValue(finalViewModel))
         // Console.WriteLine(initialPropertyInfo.GetValue(initialViewModel));
          return false;
        }
       }
      }
      return true;
     }
    
    //最后和初始视图模型是从我中提取的属性的对象,它们都是Object类型。
    本文地址 :CodeGo.net/1106139/
    -------------------------------------------------------------------------------------------------------------------------
    1.当两个Objects使用==(或!=)你是运算符System.Object.Equals()方法,你几乎可以肯定不喜欢的,这就是为什么你说这是行不通的。除非你的类型已经重写此提供的同情心,你所提供的,而实际测试的身份,平等。 如果你的属性是简单类型都提供适当平等的行为(的StringInt32等) CodeGo.net,那么你的代码会工作。既然简化版,您的类型不System.Object.Equals()在某种程度上你,你可能想要什么是“深,其中两个对象被视为相等,如果他们的类型和每个相应的字段也等于一种表单。好了,你不要说! 该解决方案取决于你的属性的类型。如果再考虑Equals()你自己。如果你没有这些,那么你就需要找到一个办法了。
    本文标题 :比较两个enumrations的PropertyInfo的,结果从反射
    本文地址 :CodeGo.net/1106139/
    1. PDA模拟器无法调试?
    2. 声明字符串中的if语句,并用它在它之外的C#
    3. dbf文件 链接字符串
    4. 参数化更新查询语法错误
    5. 如何改变生成DLL的名称??
    6. 如何获得在C#中一个矩形内所有像素值
    7. 问有没有办法可以编程实现防止文件的复制,相送。
    8. 如何使用命令行参数的模型(MVVM模式)WPF应用程序
    9. 船长!SOS!! 船长,你教我的在调用窗口中关闭主窗口的方
    10. 用c#显示从sqlserver中的asp.net DropDownList的数据

     
    

    Copyright © 2017 CodeGo.net
    http://codego.net/xinwen/ 足球比分网 足球比分 医药招商网 邵阳县新闻