Beispiel #1
0
        private static object Reverse(Type clazz, object value)
        {
            int size = ReserveUnit.GetTypeSize(clazz);

            if (size <= 0)
            {
                return(value);
            }
            long num = ReserveUnit.Reverse(Convert.ToInt64(value), size);

            if (clazz == typeof(uint))
            {
                return((uint)num);
            }
            if (clazz == typeof(int))
            {
                return((int)num);
            }
            if (clazz == typeof(ulong))
            {
                return((ulong)num);
            }
            if (clazz == typeof(ushort))
            {
                return((ushort)num);
            }
            return(num);
        }
Beispiel #2
0
        public static object Reverse(object obj, BindingFlags flags)
        {
            if (obj == null)
            {
                throw new ArgumentNullException("obj");
            }
            Type clazz = obj.GetType();

            foreach (FieldInfo fi in clazz.GetFields(flags))
            {
                object[] attrs = fi.GetCustomAttributes(typeof(AllowFieldReverseAttribute), false);
                if (attrs.Length > 0)
                {
                    object value = fi.GetValue(obj);
                    value = ReserveUnit.Reverse(fi.FieldType, value);
                    fi.SetValue(obj, value);
                }
            }
            return(obj);
        }
Beispiel #3
0
 public static object Reverse(object obj)
 {
     return(ReserveUnit.Reverse(obj, BindingFlags.Public | BindingFlags.Instance | BindingFlags.NonPublic));
 }
Beispiel #4
0
 public static float Reverse(float value)
 {
     byte[] buffer = BitConverter.GetBytes(value);
     return(BitConverter.ToSingle(ReserveUnit.Reverse(buffer), 0));
 }