public static void DoStuff() { // ... WriteLine("Starting..."); SampleUnmanagedResource?sampleUnmanagedResource = null; try { sampleUnmanagedResource = new SampleUnmanagedResource(); // Use unmanaged Resource // ... } finally { if (Environment.GetCommandLineArgs().Any( arg => arg.ToLower() == "-dispose")) { sampleUnmanagedResource?.Dispose(); } } WriteLine("Exiting..."); // ... }
// ... public static void DoStuff() { WriteLine("Starting..."); SampleUnmanagedResource sampleUnmanagedResource = new SampleUnmanagedResource(); // Use temporary file stream // ... if (Environment.GetCommandLineArgs().Any(arg => arg.ToLower() == "-dispose")) { sampleUnmanagedResource.Dispose(); } // ... WriteLine("Exiting..."); }