public static TypeCacheFlags Toggle(this TypeCacheFlags source, TypeCacheFlags flag, bool value) { if (value) { return(source.Set(flag)); } return(source.Unset(flag)); }
private static TypeCacheFlags GetFlags() { TypeCacheFlags result = TypeCacheFlags.None; if (TypeCache <IReadableFromStream> .Type.IsAssignableFrom(Type)) { result |= TypeCacheFlags.ReadableFromStream; } return(result); }
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); }
public static TypeCacheFlags Unset(this TypeCacheFlags source, TypeCacheFlags flag) { return(source & (~flag)); }
public static TypeCacheFlags Set(this TypeCacheFlags source, TypeCacheFlags flag) { return(source | flag); }
public static bool IsSet(this TypeCacheFlags source, TypeCacheFlags flag) { return((source & flag) > 0); }
public bool CanBeNull() { TypeCacheFlags combined = TypeCacheFlags.IsClass | TypeCacheFlags.IsNullable; return(Flags.IsSet(combined)); }