Преобразование VB в С# - My.Application.Info.DirectoryPath

Каковы наилучшие эквиваленты С# (csharp) для следующих операторов VB (VB.NET, VisualBasic):

My.Application.Info.DirectoryPath

My.Computer.Clipboard

My.Computer.Audio.PlaySystemSound()

My.Application.Shutdown()

Ответы

Ответ 1

Application.ExecutablePath

System.Windows.Forms.Clipboard

System.Media. *

Application.Exit

Ответ 2

Если вы конвертируете приложение WPF, вы можете использовать следующее:

System.Reflection.Assembly.GetExecutingAssembly().Location;
//gets file path with file name

System.Windows.Clipboard;

System.Media.SystemSounds.[Sound].Play();

System.Windows.Application.Current.Shutdown();

Ответ 3

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)

Ответ 4

Это может быть не совсем то, что вы ищете, но на всякий случай, если вы хотите использовать ярлык, если вы добавите ссылку на сборку Microsoft.VisualBasic, вы можете использовать отличные инструменты, которые программисты VB имеют доступ через MyServices.

Ответ 5

От декомпиляции Microsoft.VisualBasic.dll фактический код, который запускается при вызове My.Application.Info.DirectoryPath:

Path.GetDirectoryName(
    new AssemblyInfo(
        Assembly.GetEntryAssembly() ?? Assembly.GetCallingAssembly()).Location);

Ответ 6

System.IO.Directory.GetParent(Application.ExecutablePath) 

точно такая же, как:

My.Application.Info.DirectoryPath

Если вы только делаете:

Application.ExecutablePath

Вы получите исполняемый файл, добавленный к пути, который может быть неприменим вообще.

Ответ 7

Я думаю, что вы ищете это предложение:

Application.StartupPath;
//Get file path without file name.