Доступ к частной статистике c только для чтения ConcurrentDictionary - PullRequest
0 голосов
/ 07 августа 2020

Как получить доступ к TypeTableName в классе Dapper.Contrib.Extensions.SqlMapperExtensions с использованием Reflection?

private static readonly ConcurrentDictionary<RuntimeTypeHandle, string> TypeTableName = new ConcurrentDictionary<RuntimeTypeHandle, string>();

Невозможно установить значение null для SqlMapperExtensions.TableNameMapper, потому что используется TypeTableName

https://github.com/StackExchange/Dapper/blob/main/Dapper.Contrib/SqlMapperExtensions.cs#L280

Delegate[] delegados  = Dapper.Contrib.Extensions.SqlMapperExtensions.TableNameMapper.GetInvocationList();
     foreach (TableNameMapperDelegate delegateTableNameMapper in delegados)
         Dapper.Contrib.Extensions.SqlMapperExtensions.TableNameMapper -= delegateTableNameMapper; 

     Delegate.RemoveAll(Dapper.Contrib.Extensions.SqlMapperExtensions.TableNameMapper, Dapper.Contrib.Extensions.SqlMapperExtensions.TableNameMapper);

     Dapper.Contrib.Extensions.SqlMapperExtensions.TableNameMapper -= tableNameDelegate;
     Dapper.Contrib.Extensions.SqlMapperExtensions.TableNameMapper = null;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...