Я пытаюсь написать метод журнала аудита, который будет регистрировать все изменения в модели Linq-To-Sql.Как передать неизвестный тип функции?
Я хочу, чтобы все изменения зацикливались на каждом типе изменения, вызовите мой метод, который создает запись журнала для каждого типа объекта.
Я не уверен, что это возможно.
Это мой код. Я получаю сообщение об ошибке, когда пытаюсь передать тип типа typeof (original). Я не знаю тип при определении времени, поскольку это может быть любой из объектов linq в моей модели.
ChangeSet changedObjects = this._lmsDb.GetChangeSet();
foreach (var update in changedObjects.Updates)
{
Type type = update.GetType();
var original = this._lmsDb.GetTable(type).GetOriginalEntityState(update);
// Error from <typeof(original)>
AuditLog au = AuditLogger.GetAuditLogRecord<typeof(original)>(original, update, "Update", "", userName);
this._lmsDb.AuditLogs.InsertOnSubmit(au);
}
Возможно ли это? И если да, то какие намеки на то, как это сделать?
В java все распространяется от класса Object, я не знаю, является ли это хорошим способом или даже если C# поддерживает это, но можете ли вы отправить typeof (Object)? Простое предложение, возможно, не ответ. –