mirror of
https://github.com/ckaczor/sqltoolsservice.git
synced 2026-01-14 17:23:27 -05:00
* Make nullable warnings a per file opt-in * Remove unneeded compiler directives * Remove compiler directive for User Data
56 lines
1.1 KiB
C#
56 lines
1.1 KiB
C#
//
|
|
// Copyright (c) Microsoft. All rights reserved.
|
|
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
//
|
|
|
|
#nullable disable
|
|
|
|
using System;
|
|
using System.IO;
|
|
|
|
namespace Microsoft.SqlTools.ServiceLayer.Test.Common
|
|
{
|
|
public class SelfCleaningTempFile : IDisposable
|
|
{
|
|
private bool disposed;
|
|
|
|
public SelfCleaningTempFile()
|
|
{
|
|
FilePath = Path.GetTempFileName();
|
|
}
|
|
|
|
public string FilePath { get; private set; }
|
|
|
|
#region IDisposable Implementation
|
|
|
|
public void Dispose()
|
|
{
|
|
if (!disposed)
|
|
{
|
|
Dispose(true);
|
|
GC.SuppressFinalize(this);
|
|
}
|
|
}
|
|
|
|
public void Dispose(bool disposing)
|
|
{
|
|
if (!disposed && disposing)
|
|
{
|
|
try
|
|
{
|
|
File.Delete(FilePath);
|
|
}
|
|
catch
|
|
{
|
|
Console.WriteLine($"Failed to cleanup {FilePath}");
|
|
}
|
|
}
|
|
|
|
disposed = true;
|
|
}
|
|
|
|
#endregion
|
|
|
|
}
|
|
}
|