小编mar*_*ica的帖子

我可以使用正则表达式在Resharper的自定义模式中查找字符串吗?

我们的代码库中有很多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)

哪里

  • $ sb $是System.Text.StringBuilder类型的表达式
  • $ newLineString $是一个匹配的标识符"(.*)\\r\\n"(完全错误,我知道)
  • $ args $是任意数量的参数

c# regex resharper resharper-9.1

5
推荐指数
1
解决办法
461
查看次数

更新 Azure Blob 上的 LastModified

我正在移植代码以使用 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 属性?它不会总是更新到当前时间,所以我不能只是重新上传/触摸文件。

c# azure azure-storage azure-blob-storage

4
推荐指数
1
解决办法
6969
查看次数