| File: System\Windows\Forms\Control.FontHandleWrapper.cs | Web Access |
| Project: src\winforms\src\System.Windows.Forms\System.Windows.Forms.csproj (System.Windows.Forms) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System.Drawing; namespace System.Windows.Forms; public partial class Control { /// <summary> /// Wrapper for a <see cref="Drawing.Font"/>'s <see cref="HFONT"/>. /// </summary> internal sealed class FontHandleWrapper : IDisposable { private HFONT _handle; internal FontHandleWrapper(Font font) => _handle = (HFONT)font.ToHfont(); internal HFONT Handle { get { Debug.Assert(!_handle.IsNull, "FontHandleWrapper disposed, but still being accessed"); return _handle; } } public void Dispose() { if (!_handle.IsNull) { PInvokeCore.DeleteObject(_handle); _handle = default; } GC.SuppressFinalize(this); } ~FontHandleWrapper() => Dispose(); } }