private static int CompareConstructorProperties(CustomAttribute first, CustomAttribute second) { if (first.get_HasProperties() && !second.get_HasProperties()) { return(1); } if (!first.get_HasProperties() && second.get_HasProperties()) { return(-1); } V_0 = Math.Max(first.get_Properties().get_Count(), second.get_Properties().get_Count()); V_1 = 0; while (V_1 < V_0) { if (first.get_Properties().get_Count() <= V_1) { return(1); } if (second.get_Properties().get_Count() <= V_1) { return(-1); } V_2 = first.get_Properties().get_Item(V_1); V_3 = second.get_Properties().get_Item(V_1); V_4 = V_2.get_Name().CompareTo(V_3.get_Name()); if (V_4 != 0) { return(V_4); } V_5 = CustomAttributeExtensions.CompareCustomAttributeArguments(V_2.get_Argument(), V_3.get_Argument()); if (V_5 != 0) { return(V_5); } V_1 = V_1 + 1; } return(0); }