Exemple #1
0
 public static TypeCacheFlags Toggle(this TypeCacheFlags source, TypeCacheFlags flag, bool value)
 {
     if (value)
     {
         return(source.Set(flag));
     }
     return(source.Unset(flag));
 }
Exemple #2
0
        private static TypeCacheFlags GetFlags()
        {
            TypeCacheFlags result = TypeCacheFlags.None;

            if (TypeCache <IReadableFromStream> .Type.IsAssignableFrom(Type))
            {
                result |= TypeCacheFlags.ReadableFromStream;
            }

            return(result);
        }
Exemple #3
0
        private static TypeCacheFlags GetFlags()
        {
            TypeCacheFlags result = TypeCacheFlags.None;

            if (Type.GetCustomAttributes(TypeCache <UnsafeCastContainsOnlyValueTypesAttribute> .Type, false).Length != 0)
            {
                result |= TypeCacheFlags.AllowUnsafeCasting;
            }

            if (TypeCache <IReadableFromStream> .Type.IsAssignableFrom(Type))
            {
                result |= TypeCacheFlags.ReadableFromStream;
            }

            return(result);
        }
Exemple #4
0
 public static TypeCacheFlags Unset(this TypeCacheFlags source, TypeCacheFlags flag)
 {
     return(source & (~flag));
 }
Exemple #5
0
 public static TypeCacheFlags Set(this TypeCacheFlags source, TypeCacheFlags flag)
 {
     return(source | flag);
 }
Exemple #6
0
 public static bool IsSet(this TypeCacheFlags source, TypeCacheFlags flag)
 {
     return((source & flag) > 0);
 }
Exemple #7
0
        public bool CanBeNull()
        {
            TypeCacheFlags combined = TypeCacheFlags.IsClass | TypeCacheFlags.IsNullable;

            return(Flags.IsSet(combined));
        }