![](/img/trans.png)
[英]Resharper - use object initializer refactor - how to retain parentheses on constructor call?
[英]How to convert a C# object initializer to use a constructor using Resharper structural find and replace
我想使用Resharper結構搜索和替換模板來自動替換此示例:
new Fruit { Name = "Apple", IsTasty = true }
有了這個:
new Fruit("Apple", true)
(注意,所需的構造函數已存在)
我嘗試過這樣的各種組合:
new $type$ { Name = $name$, IsTasty = $isTasty$ };
...使用各種不同的占位符類型,但R#在我的代碼中找不到任何示例。 有沒有人這樣做過?
所以我只是在resharper中做到了這一點(我覺得9.0.2)
創建模式:FruityChange
與類水果
public class Fruit
{
public Fruit(string name, bool isTasty)
{
Name = name;
IsTasty = isTasty;
}
public string Name { get; set; }
public bool IsTasty { get; set; }
}
並強調了代碼編輯器中的表達式,alt-tab為我提供了“替換為”選項。 它至少適用於我的機器:-)
默認情況下,R#似乎將占位符視為標識符,並且模式匹配失敗。
雙擊右側的每個占位符,並將“標識符”更改為“表達式”。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.