Ссылаясь на мой возможный ответ на этот вопрос: Как бы вы провели аудит таблиц членства ASP.NET, записывая, какой пользователь внес изменения?
Возможно ли перехватить вызов, исходящий из кода, которым вы не владеете, к ctor в запечатанном внутреннем классе, которым вы не владеете с намерением манипулировать объектом перед возвратом?
Конкретный пример:
SqlMembershipProvider
для всего доступа к данным создает экземпляр класса помощника подключения, System.Web.DataAccess.SqlConnectionHolder
.
Желаемым результатом является перехват этого экземпляра и выполнение операции с общедоступным соединением, которое открыто в ctor-адресе System.Web.DataAccess.SqlConnectionHolder
перед продолжением выполнения.
UPDATE:
Итак, как заметил Леппи в отношении моего примера, то, что я хочу сказать, совсем не то, что я хочу.
Цель теперь System.Web.DataAccess.SqlConnectionHelper.GetConnection()
Итак, можем ли мы перехватить вызов этого метода?
internal static SqlConnectionHolder GetConnection(string connectionString, bool revertImpersonation)
Возможно ли это. Если это так, краткий пример будет оценен.