2014-10-08 80 views
4

Resharper提供了一個用於從構造函數參數創建和初始化自動屬性的功能。更改Resharper生成的自動屬性中的訪問修飾符

默認情況下,生成的屬性的形式爲:

public int Foo { get; set; } 

是否有可能修改的訪問者有這個呢?

protected int Foo { get; private set; } 
+0

我不這麼認爲。有幾件事你可以在Resharper中設置,但據我所知,屬性代不可鏈接到模板。 – jessehouwing 2014-10-08 07:43:26

回答

2

我JetBrains的檢查,這是他們說:

嗨傑西, 不,這是不可能在目前。歡迎您,但是,to log a feature request in our issue tracker

所以答案是:否。

+0

如果你記錄一個功能請求,請在這裏發佈鏈接:)。 – jessehouwing 2014-10-08 13:11:03

+1

感謝您的回答!我向JetBrains提交了一個[請求](http://resharper-support.jetbrains.com/requests/11670) – 2014-10-10 08:05:30

+0

@OlivierBlanc僅供參考,您之前提到的資源導致404錯誤。還有一個類似的問題,我可以找到@ [RSRP-458465生成只讀屬性](https://youtrack.jetbrains.com/issue/RSRP-458465#u=1461653836660)。 – 2016-07-07 12:03:37

1

爲了產生這個屬性我想你正在使用的道具模板

所以,你可以改變它,或者創建自己的

前往ReSharper的菜單的一個新的 - >模板資源管理器

選擇C#和尋找道具,您可以點擊編輯和更改

但也許是最好的方法是創建一個新的,如果你有時候想默認屬性

點擊新的模板,並編寫

protected $TYPE$ $NAME$ { get; private set; } 

在你想要的快捷鍵字段類型,像prprop爲例如並保存它。

現在打開一個文件,並鍵入prprod,標籤兩次,你有帶私人二傳手

保護propertiy如果你不使用模板或片段,但「從構造函數創建自動財產」現在看來,這是不可能的改變訪問修飾符,改變它的唯一方法是,當你使用

ReSharper的 - >編輯 - >生成代碼...

然後從那裏

你選擇什麼樣的產生可以改變訪問修飾符或選擇是否它是隻讀的。

+2

對不起,我不夠精確。我正在談論從構造函數參數生成的屬性,我相應地修改了這個問題 – 2014-10-08 08:06:13