Программа делает подобные вещи снова и снова. Я хочу уменьшить код, который я использую.
Это пример, в этом примере он не нужен, но в будущем я сделаю нечто подобное. Теперь я запутался и сказал: «Почему я должен копировать одни и те же коды один за другим?»
Но я получаю, что «Object» не содержит определения для ошибки «ComputeHash». Во время выполнения они не будут объектами, они являются классами. Таким образом, они не имеют одинаковый тип переменной. Что мне делать?
private void button1_Click(object sender, EventArgs e)
{
OpenFileDialog op = new OpenFileDialog();
op.Filter = "ALL files(*.*)|*.*";
if (op.ShowDialog() == DialogResult.OK)
{
textBox1.Text = String.Empty;
var list = new ArrayList() { crc32, md5, sha1 };
foreach (var checksum in list)
{
using (FileStream fs = File.Open(op.FileName, FileMode.Open))
{
foreach (byte b in checksum.ComputeHash(fs))
{
hash += b.ToString("x2").ToLower();
}
textBox1.Text += hash + "\r\n";
hash = String.Empty;
}
}
}
}