Как создать атрибут 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

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