프로그램에서 이와 비슷한 일이 반복됩니다. 내가 사용하는 코드를 줄이려고합니다. 예를 들어,이 예제에서는 필요하지 않지만 앞으로 비슷한 다른 것을 할 것입니다. 이제 혼란스럽고 "왜 동일한 코드를 하나씩 복사해야합니까?"라고 물었습니다.C# - 'Object'에 'ComputeHash'에 대한 정의가 없습니다.
하지만 '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;
}
}
}
}
뭐죠 * 진짜 * 라인'VAR 목록에 대한 코드 = 새로운 ArrayList를() {CRC32, MD5, SHA1, ...}; ' – Jamiec
그것은 단지 실수입니다. – PythEch