What are the best C# (csharp) equivalents for the following VB (VB.NET, VisualBasic) statements:
My.Application.Info.DirectoryPath
My.Computer.Clipboard
My.Com
My.Application.Info.DirectoryPath
AppDomain.CurrentDomain.BaseDirectory
My.Computer.Clipboard
System.Windows.Clipboard //(WPF)
System.Windows.Forms.Clipboard //(WinForms)
My.Computer.Audio.PlaySystemSound()
System.Media.SystemSounds.*.Play()
My.Application.Shutdown()
System.Windows.Forms.Application.Exit() //(WinForms)
or
System.Windows.Application.Current.Shutdown() //(WPF)
or
System.Environment.Exit(ExitCode) //(Both WinForms & WPF)
System.IO.Directory.GetParent(Application.ExecutablePath)
is exactly the same as:
My.Application.Info.DirectoryPath
If you only do:
Application.ExecutablePath
You will get the executing file appended to the path, which may not be useful at all.
If you are converting a WPF application, you can use the following:
System.Reflection.Assembly.GetExecutingAssembly().Location;
//gets file path with file name
System.Windows.Clipboard;
System.Media.SystemSounds.[Sound].Play();
System.Windows.Application.Current.Shutdown();
Application.ExecutablePath
System.Windows.Forms.Clipboard
System.Media.*
Application.Exit
From decompiling Microsoft.VisualBasic.dll, the actual code that gets executed when calling My.Application.Info.DirectoryPath
is:
Path.GetDirectoryName(
new AssemblyInfo(
Assembly.GetEntryAssembly() ?? Assembly.GetCallingAssembly()).Location);
The following
using System.IO;
Directory.GetCurrentDirectory()