我的代码<color key="tintColor" red="0.0" green="0.0" blue="0.0" alpha="1.0" colorSpace="custom" customColorSpace="sRGB"/>
抛出OutOfMemoryException当我传递此值“\\”时,内存不足以继续执行程序。作为论点。关于为什么var fullPath = Path.GetFullPath(input);
崩溃的任何解释?
XAML:
Path.GetFullPath("\\.")
视图模型:
<TextBox><TextBox.Text><Binding Path="FolderPath" Mode="TwoWay" UpdateSourceTrigger="PropertyChanged" ValidatesOnDataErrors="True" NotifyOnValidationError="True"/></TextBox.Text></TextBox>
验证员类:
// Implementation of IDataErrorInfo
public string this[string columnName]
{
get
{
if (columnName != null)
{
if (columnName.Equals(nameof(FolderPath)))
{
if(!Validator.IsValidPath(FolderPath)
return "Invalid Folder";
}
}
}
}
答案 0 :(得分:0)
关于为什么Path.GetFullPath(“\。”)崩溃的任何解释?
每个MSDN:https://msdn.microsoft.com/en-us/library/system.io.path.getfullpath(v=vs.110).aspx
<强>说明强>
.NET Framework不支持通过设备名称的路径直接访问物理磁盘,例如“\。\ PHYSICALDRIVE0”。
你需要使用pinvoke,Direct disk access in windows (C#)或者这个库可能有帮助 CCS LABS C#: Low Level Disk Access。