Answers for "Compare properties of Type"

C#
0

Compare properties of Type

private void ComparePropertyInfos<T>(T obj1, T obj2) {
        StringBuilder message1 = new StringBuilder(), message2 = new StringBuilder();
        Type t = obj1.GetType();
        System.Reflection.PropertyInfo[] props = t.GetProperties();
        foreach(System.Reflection.PropertyInfo prop in props) {
            string color = "green";
            message1.Append($"Name: {prop.Name}, Type: {prop.PropertyType.Name}");
            message2.Append($"Name: {prop.Name}, Type: {prop.PropertyType.Name}");
            if(prop.GetIndexParameters().Length == 0) {
                object value1 = prop.GetValue(obj1);
                object value2 = prop.GetValue(obj2);
                if(value1 != null && value2 != null) {
                    color = value1.Equals(value2) ? "green" : "red";
                } else {
                    color = "blue";
                }
                message1.Append($", Value: <b><color={color}>{value1}</color></b>");
                message2.Append($", Value: <b><color={color}>{value2}</color></b>");
            }
            message1.Append(Environment.NewLine);
            message2.Append(Environment.NewLine);
        }
        Console.WriteLine(message1);
        Console.WriteLine(message2);
    }
Posted by: Guest on October-07-2021

Code answers related to "Compare properties of Type"

C# Answers by Framework

Browse Popular Code Answers by Language