static ClaimsTypes() { var finfo = typeof(ClaimTypes) .GetFields(BindingFlags.Public | BindingFlags.Static | BindingFlags.FlattenHierarchy); _claimValues = new ReadOnlyCache <string, string>( finfo .Select(f => new KeyValuePair <string, string>(f.Name, (string)f.GetValue(null))) .ToArray()); _claimKeys = new ReadOnlyCache <string, string>( finfo .Select(f => new KeyValuePair <string, string>((string)f.GetValue(null), f.Name)) .ToArray()); finfo = typeof(ClaimValueTypes) .GetFields(BindingFlags.Public | BindingFlags.Static | BindingFlags.FlattenHierarchy); _claimTypeValues = new ReadOnlyCache <string, string>( finfo .Select(f => new KeyValuePair <string, string>(f.Name, (string)f.GetValue(null))) .ToArray()); _claimTypeKeys = new ReadOnlyCache <string, string>( finfo .Select(f => new KeyValuePair <string, string>((string)f.GetValue(null), f.Name)) .ToArray()); }
static Claim() { _claimValues = new ReadOnlyCache <string, string>( typeof(ClaimTypes) .GetFields(BindingFlags.Public | BindingFlags.Static | BindingFlags.FlattenHierarchy) .Select(f => new KeyValuePair <string, string>(f.Name, (string)f.GetValue(null))) .ToArray()); _claimNames = new ReadOnlyCache <string, string>( _claimValues.Select(c => new KeyValuePair <string, string>(c.Value, c.Key)) .ToArray()); }