/// <summary> /// Возвращает тип ключа (например, для GUIDGenerator это typeof(Guid)) /// </summary> public static Type KeyType(Type dataobjecttype) { // сработаем через кэш - выйграем время на вызовах лишних методов if (_cacheKeys.ContainsKey(dataobjecttype)) { return(_cacheKeys[dataobjecttype]); } lock (m_ObjNull) { if (_cacheKeys.ContainsKey(dataobjecttype)) { return(_cacheKeys[dataobjecttype]); } BaseKeyGenerator keyGen = Generator(dataobjecttype); Type keyType = keyGen.KeyType; _cacheKeys.Add(dataobjecttype, keyType); return(keyType); } }
/// <summary> /// Сгенерировать ключ /// </summary> public static object GenerateUnique(Type dataobjecttype, object sds) { BaseKeyGenerator keyGen = Generator(dataobjecttype); return(keyGen.GenerateUniqe(dataobjecttype, sds)); }