예제 #1
0
        public static void WriteEnum <T>(SerializationCtx ctx, UnsafeWriter writer, T value) where T :
#if !NET35
        unmanaged,
#endif
        Enum
        {
            writer.Write(Cast32BitEnum <T> .ToInt(value));
        }
예제 #2
0
        public static T ReadEnum <T>(SerializationCtx ctx, UnsafeReader reader) where T :
#if !NET35
        unmanaged,
#endif
        Enum
        {
            Assertion.Assert(typeof(T).IsSubclassOf(typeof(Enum)), "{0}", typeof(T));
            return(Cast32BitEnum <T> .FromInt(reader.ReadInt()));
        }
예제 #3
0
        public void CastEnum32Test()
        {
            int updateOrdinal = (int)AddUpdateRemove.Update;
            int removeOrdinal = (int)AddUpdateRemove.Remove;

            Assert.AreEqual(AddUpdateRemove.Update, Cast32BitEnum <AddUpdateRemove> .FromInt(updateOrdinal));
            Assert.AreEqual(AddUpdateRemove.Remove, Cast32BitEnum <AddUpdateRemove> .FromInt(removeOrdinal));

            Assert.AreEqual(AddUpdateRemove.Update, Cast32BitEnum <AddUpdateRemove> .FromUInt((uint)updateOrdinal));
            Assert.AreEqual(AddUpdateRemove.Remove, Cast32BitEnum <AddUpdateRemove> .FromUInt((uint)removeOrdinal));
        }