Exemple #1
0
 static IBssMapKeyStaticResolverCache()
 {
     if (BssMapKeyResolverProvider.TryGetBssMapKeyResolver(typeof(T), out IBssMapKeyResolver convertor))
     {
         Instance = (IBssMapKeyResolver <T>)convertor;
     }
     else
     {
         BssomSerializationTypeFormatterException.BssomMapKeyUnsupportedType(typeof(T));
     }
 }
 static BssMapObjMarshalReader()
 {
     if (typeof(TKey) == typeof(object))
     {
         readKeyFunc = GetObjectKey;
     }
     else
     {
         staticKeyResolver = BssMapKeyResolverProvider.GetAndVertiyBssMapKeyResolver <TKey>();
         readKeyFunc       = GetKey;
     }
 }
 public static bool TryGetBssMapKeyResolver(Type keyType, out IBssMapKeyResolver mapKeyConvertor)
 {
     return(bssMapKeys.TryGetValue(keyType, out mapKeyConvertor));
 }
        private static TKey GetObjectKey(bool isNativeType, byte keyType, BssmapAnalysisStack stack, byte valueByteCount)
        {
            IBssMapKeyResolver convert = BssMapKeyResolverProvider.GetAndVertiyBssMapKeyResolver(isNativeType, keyType);

            return((TKey)convert.ReadMap2Key(stack.ToUlongs((byte)valueByteCount)));
        }