private static MethodInfo FindConversionOperator(MethodInfo[] methods, Type typeFrom, Type typeTo)
{
foreach (MethodInfo mi in methods)
{
if (
(mi.Name == "op_Implicit" || mi.Name == "op_Explicit")
&& AreEquivalent(mi.ReturnType, typeTo)
)
{
ParameterInfo[] pis = mi.GetParametersCached();
if (pis.Length == 1 && AreEquivalent(pis[0].ParameterType, typeFrom))
{
return mi;
}
}
}
return null;
}