Как создать атрибут c# для попытки пойматьC#

Место общения программистов C#
Ответить
Anonymous
 Как создать атрибут c# для попытки поймать

Сообщение Anonymous »

Я пытаюсь создать атрибут, который может позволить мне легко отмечать методы как транзакционные. < /p>
Я хотел бы написать код таким образом: < /p>

Код: Выделить всё

[Transactional]
[Fact]
public void ThrowsExceptionWhenJournalLinesAreOutOfBalance()
{
PopulateJournalLines();
int insertedLines = PostJournalLines();
Assert.Equal(2, insertedLines);
}
Задача заключается в том, как определить TransactionAlattribute .
Вот как я думаю, это должно выглядеть:

Код: Выделить всё

public class TransactionalAttribute : Attribute
{
public override void OnInvoke(object args)
{
Table.BeginTransaction();

try
{
base.OnInvoke(args);
Table.Commit();
}
catch (Exception)
{
Table.Rollback();
throw;
}
}
}
Как я могу заставить этот код работать?

Подробнее здесь: https://stackoverflow.com/questions/796 ... -try-catch
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»