Как создать файл и тут же его открыть в C#
Мне нужно создать файл и тут же его открыть. Открываю я файл с помощью уже запущенного в приложении процесса командной строки. Но когда я пытаюсь его открыть файл сразу после его открытия, консоль выдает ошибку о том, что файл еще занят. Пробовал запускать функцию с созданием в отдельном потоке, однако в отдельно созданном потоке функция не может изменить текст лэйбла из-за области видимости. Есть ли какой то способ остановить основной поток до конца создания файла и после создания продолжить выполнение кода уже на открытие?
private void btnCreateFile_Click(object sender, RoutedEventArgs e)
{
createFile();
//Тут? ...
if (OpenCheckBox.IsChecked == true)
{
_main.CmdProcess.StandardInput.WriteLine($"\"{fullFilePath}\"");
}
}
private void createFile()
{
if (!(string.IsNullOrWhiteSpace(FileNameTextBox.Text) ||
string.IsNullOrWhiteSpace(FileExtTextBox.Text)))
{
if (Directory.Exists(FileDirTextBox.Text))
{
fullFilePath = $@"{FileDirTextBox.Text}\{FileNameTextBox.Text}.{FileExtTextBox.Text}";
if (!File.Exists(fullFilePath))
{
File.Create(fullFilePath);
this.Close();
//Или тут? ...
}
else { FileNameLabel.Content = "File already exists:"; }
}
else { DirPathLabel.Content = "Enter valid path:"; }
}
else { FileNameLabel.Content = "Enter valid name:"; }
}