Member 10878173 Ответов: 2

А как же я?..Я не совсем понимаю оператор using


Я, кажется, не совсем понимаю, какая информация должна идти туда, где стоят вопросительные знаки.
Мой код выглядит следующим образом:


MPOS =(60 - Len(COMPNAME) / 2)

Используя ??? Как ???
e.графика.DrawString(COMPNAME, New Font("Arial", 12), New SolidBrush(Color.Черный), MPOS, 0)

Конец Использования

Мои причины заключаются в использовании вышеизложенного, поскольку я считаю, что это лучший метод утилизации.
Это необходимо или я должен просто опустить "Using Statement"

Что я уже пробовал:

Не знаю, что мне стоит попробовать, так как я только начал использовать графику.Шнурок. Итак, это
часть новая

2 Ответов

Рейтинг:
1

OriginalGriff

Код, который вы показываете, не создает ничего, что нужно было бы утилизировать, за исключением объектов Font и SolidBrush, поэтому для их обработки вам понадобятся два вложенных блока Using:

Using f As Font = New Font("Arial", 12)
    Using MPOS, _ As Brush, b As Brush = New SolidBrush(Color.Black)
        e.Graphics.DrawString(COMPNAME, f, b, MPOS, 0)
    End Using
End Using
Каждый Using блок позволяет вам объявлять переменную и автоматически избавляться от ее содержимого, когда она выходит за пределы области видимости.
Это похоже на то, чтобы сделать это с помощью попытки...Наконец блок:
Dim f As Font = New Font("Arial", 12)
Try
    Dim b As Brush = New SolidBrush(Color.Black)
    Try
        e.Graphics.DrawString(COMPNAME, f, b, MPOS, 0)
    Finally
        b.Dispose()
    End Try
Finally
    f.Dispose()
End Try
Но вы не можете случайно использовать удаленные объекты, поскольку они находятся вне области действия и недоступны.


Рейтинг:
0

Maciej Los

На основе документации MSDN: Использование Оператора (Visual Basic) | Microsoft Docs[^], вы можете использовать этот оператор, когда вашему коду требуется неуправляемый ресурс. Но это не значит, что вы должны использовать это утверждение (не обязательно). Using оператор очень удобен для программистов, потому что ведет себя как Try...Finally строительство и забота об утилизации объектов... Но(!) иногда вы можете использовать пользовательский обработчик ошибок, а не Using заявление.