我们的代码库中有很多StringBuilder.AppendFormats,它们的字符串以换行符结尾。我制作了一个名为AppendLineFormat的扩展方法,并希望使用Resharper的“自定义模式”功能来识别和修复那些使用新扩展方法的旧调用(并在将来向其他人推荐这种新扩展方法)。
StringBuilder sb = new StringBuilder();
int i = 1;
sb.AppendFormat("i is {0}\r\n", i);
Run Code Online (Sandbox Code Playgroud)
进入
sb.AppendLineFormat("i is {0}", i);
Run Code Online (Sandbox Code Playgroud)
有没有办法使用正则表达式(替换)来识别匹配的字符串?我不想将每个AppendFormat都转换为AppendLineFormat-仅是那些以\ r \ n结尾的字符串。这是到目前为止我得到的。
搜索模式:
$sb$.AppendFormat($newLineString$,$args$)
Run Code Online (Sandbox Code Playgroud)
替换图案:
$sb$.AppendLineFormat($newLineString$,$args$)
Run Code Online (Sandbox Code Playgroud)
哪里
"(.*)\\r\\n"(完全错误,我知道)我正在移植代码以使用 C# 中的 Azure 存储 SDK。
传统上,我称其为更新修改文件的上次写入/修改时间:
File.SetLastWriteTimeUtc(fileName, lastWriteTimeUtc);
Run Code Online (Sandbox Code Playgroud)
要更新 blob 的上次修改时间,我正在尝试执行类似的操作,但不能,因为 LastModified 不可访问:
CloudBlockBlob blob = container.GetBlockBlobReference(fileName);
blob.Properties.LastModified = lastWriteTimeUtc;
blob.SetProperties();
Run Code Online (Sandbox Code Playgroud)
编译器错误:
无法分配属性或索引器“Microsoft.WindowsAzure.Storage.Blob.BlobProperties.LastModified”——它是只读的
如何更新 LastModified 属性?它不会总是更新到当前时间,所以我不能只是重新上传/触摸文件。