Давайте начнем с имени вашего метода: getFilename2
.
- Префикс "get" подразумевает, что метод должен иметь тип возврата
- Более подходящее имя можетbe
SetFileName
Я предполагаю, что существует метод getFileName1
, который извлекает имя файла из textBox1
и имеет тот же код, что и getFileName2
, но использует textBox1
вместо textBox2
.Это было бы хорошим местом для рефакторинга вашего кода и создания общего метода, который можно использовать повторно:
private string GetFileName(string str)
{
if (string.IsNullOrEmpty(str)) return string.Empty;
string last = str.Substring(str.LastIndexOf('\\') + 1);
return last.Split('.');
}
Но мы можем снова выполнить рефакторинг и просто использовать встроенный метод .NET:
private string GetFileName(string str)
{
return Path.GetFileNameWithoutExtension(str);
}
И теперь, когда есть общий метод, мы можем использовать его по мере необходимости:
private void button1_Click(object sender, EventArgs e)
{
string filez = GetFileName(textBox2.Text);
}
Теперь у нас есть метод GetFileName ();все, что он делает, - это вызывает встроенный метод .NET метода GetFileNameWithoutExtension ().Таким образом, вместо того, чтобы иметь метод, мы должны просто использовать встроенный метод .NET для возврата имени файла:
private void button1_Click(object sender, EventArgs e)
{
string filez = Path.GetFileNameWithoutExtension(textBox2.Text);
}
Теперь давайте рассмотрим передачу строки из одного void в другой.Как правило, вы хотите сделать это с помощью внутреннего поля или свойства.Поскольку я неравнодушен к свойствам, я буду использовать их в качестве примера:
private string FileName1 {get; set;}
private string FileName2 {get; set;}
private void SetFileName1()
{
FileName1 = Path.GetFileNameWithoutExtension(textBox1.Text);
}
private void SetFileName2()
{
FileName2 = Path.GetFileNameWithoutExtension(textBox2.Text);
}
private void button1_Click(object sender, EventArgs e)
{
SetFileName1();
SetFileName2();
string filez1 = FileName1;
string filez2 = FileName2;
}
Однако, если вы не хотите использовать внутренние поля или свойства, вы можете установить значения с помощью ref в ответ на Rachel