【发布时间】:2011-08-09 14:01:51
【问题描述】:
由于实际加载图像的所有智能都由 .net 框架完成,我似乎不必通过检查幻数或使用这样的 hack 在我的代码中重复所有操作:
Private Function IsImage(FileName as String) As Boolean
Try
Using img As New Bitmap(FileName)
End Using
Catch ex as System.ArgumentException
Return False
End Try
Return True
End Function
我是否遗漏了一些明显的东西,例如 System.Drawing.IsImage(stream)?
【问题讨论】:
-
至于框架为什么不这样做,请查看这篇文章,了解所有功能如何从 -100 点开始,并且与其他功能相比,人们必须证明他们的需求。 blogs.msdn.com/b/ericgu/archive/2004/01/12/57985.aspx
-
我不认为这是一个特别的“黑客”。它使用了框架的所有智能,要完全复制会很棘手。
-
@jgauffin - 感谢您的评论 - 但在该帖子的答案中引用,“检查文件是否有已知的标题” - 这就是我所说的“神奇”数字。我不想编写代码和测试新的东西(答案的链接没有成熟/经过测试的 .net 示例)。
-
@Chris Haas - 你能不能只发布一个回答“不”的答案?我可能会继续使用我的“hack”,我不在乎类型。谢谢。
标签: c# .net vb.net gdi+ magic-numbers