У меня нет проблем с использованием OpenFileDialog (в Windows Forms). Я не могу точно понять, где ошибка с использованием OpenFileDialog в Silverlight (WPF). В моем коде я заинтересован этой строкой, где необходимо показать путь:OpenFileDialog Silverlight
var lines = File.ReadLines(fileStream);
весь код для Silverlight (не работает):
private void Button_Click(object sender, RoutedEventArgs e)
{
OpenFileDialog opendialog = new OpenFileDialog();
System.IO.Stream fileStream = opendialog.File.OpenRead();
if (opendialog.ShowDialog() == true)
{
var lines = File.ReadLines(fileStream);
string pattern = @"set vrouter ""([\w-]+)""";
var matches =
lines.SelectMany(line => Regex.Matches(line, pattern)
.Cast<Match>()).Where(m => m.Success)
.Select(m => m.Groups[1].Value)
.Distinct();
foreach (String match in matches)
{
textBox1.AppendText(match + Environment.NewLine);
}
}
}
}
}
Код для Windows Forms (работает хорошо):
private void button1_Click(object sender, EventArgs e)
{
OpenFileDialog opendialog = new OpenFileDialog();
if (opendialog.ShowDialog() == DialogResult.OK)
{
var lines = File.ReadLines(opendialog.FileName);
string pattern = @"set vrouter ""([\w-]+)""";
var matches =
lines.SelectMany(line=> Regex.Matches(line, pattern)
.Cast<Match>()).Where(m => m.Success)
.Select(m => m.Groups[1].Value)
.Distinct();
foreach (String match in matches)
{
textBox1.AppendText(match + Environment.NewLine);
}
}
}
здесь исчезла ошибка, но она появилась в строку кода lines.SelectMany (строка => Regex.Matches (линии, рисунок)/Error . Наилучшее перегруженное соответствие метода для «System.Text.RegularExpressions.Regex.Matches (string, string)» имеет некоторые недопустимые аргументы. – user3214034
не знаю, чего вы пытаетесь достичь, но идея проста: проанализируйте строку, заполнив –
Я добавил код для Windows Forms/Он отлично работает, но мне нужен тот же код в Silverlight.there проблема – user3214034