void CreateConfiguration() { HandledType(); var keyAndValueTypes = _type !.GetGenericArguments(); _configurationId = ODBDictionaryConfiguration.Register(_keysHandler, keyAndValueTypes[0], null, null); var cfg = ODBDictionaryConfiguration.Get(_configurationId); lock (cfg) { cfg.KeyReader ??= CreateReader(_keysHandler, keyAndValueTypes[0]); cfg.KeyWriter ??= CreateWriter(_keysHandler, keyAndValueTypes[0]); } }
int GetConfigurationId(Type type) { var keyAndValueTypes = type.GetGenericArguments(); var configurationId = ODBDictionaryConfiguration.Register(_keysHandler, keyAndValueTypes[0], _valuesHandler, keyAndValueTypes[1]); var cfg = ODBDictionaryConfiguration.Get(configurationId); lock (cfg) { cfg.KeyReader ??= CreateReader(_keysHandler, keyAndValueTypes[0]); cfg.KeyWriter ??= CreateWriter(_keysHandler, keyAndValueTypes[0]); cfg.ValueReader ??= CreateReader(_valuesHandler, keyAndValueTypes[1]); cfg.ValueWriter ??= CreateWriter(_valuesHandler, keyAndValueTypes[1]); } return(configurationId); }