private IMethod FindConversionOperator(string name, IType fromType, IType toType)
{
while (fromType != ObjectType)
{
IMethod method = FindConversionOperator(name, fromType, toType, fromType.GetMembers());
if (null != method) return method;
method = FindConversionOperator(name, fromType, toType, toType.GetMembers());
if (null != method) return method;
method = FindConversionOperator(name, fromType, toType, FindExtension(fromType, name));
if (null != method) return method;
fromType = fromType.BaseType;
if (null == fromType) break;
}
return null;
}