Как лучше всего использовать? - PullRequest
0 голосов
/ 19 июня 2020

Как лучше всего использовать?

code1:

public async Task<IActionResult> EditEmployeePicture(string userId)
{
    using IClubRep current = new ClubRep(_db);
    var data = await current.CurrentUserData(user.Id);
}

code2:

public async Task<IActionResult> EditEmployeePicture(string userId)
{
    using (IClubRep current = new ClubRep(_db))
    {
        var data = await current.CurrentUserData(user.Id);
    }
}

code3:

private IClubRep Club { get; set; }
.
.
.
public async Task<IActionResult> EditEmployeePicture(string userId)
{
    Club = new ClubRep(_db);
    var data = await Club.CurrentUserData(user.Id);
}

Как вы думаете, что лучше всего использовать? Наименьшее давление на систему.

1 Ответ

2 голосов
/ 19 июня 2020

С code1: ваше одноразовое устройство живет до конца метода, потому что созданный компилятором блок try / catch / finally охватывает весь код. С code2: он доживает до конца блока using, потому что компилятор генерирует отдельный try / catch / finally для этого раздела.

В вашем примере они точно такие же, но если вы после этого имелся значительный объем кода: using IClubRep current = new ClubRep(_db);, тогда одноразовый элемент просуществовал бы немного дольше.

...