Ama*_*ein 2 c# system.reflection driveinfo
我正在尝试检测我们的应用程序是否从DVD运行(因为这会禁用/启用逻辑中的功能).到目前为止,我已经提出了下面的代码片段似乎可行,但我真的想知道是否有最佳实践来检测这一点.
public static bool IsDVDInstallation()
{
try
{
string location = Assembly.GetExecutingAssembly().Location;
var info = new DriveInfo(Path.GetPathRoot(location));
return info.DriveType == DriveType.CDRom;
}
catch
{
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
如果你想知道应用程序(而不是你所在的任何特定组件)是否在光驱上运行,那么你可能应该使用GetEntryAssembly()而不是GetExecutingAssembly().除此之外,你的逻辑看起来非常合理.
为什么沉默catch块?你以前尝试过这个时有异常吗?即使你这样做了,你也应该捕获你知道如何处理而不是一切的特定异常.
| 归档时间: |
|
| 查看次数: |
261 次 |
| 最近记录: |