Tools for refactoring C# public fields into properties

4k Views Asked by At

I have a lot of C# code that uses public fields, and I would like to convert them to properties.

I have Resharper, and it will do them one by one, but this will take forever.

Does anyone know of an automated refactoring tool that can help with this?

3

There are 3 best solutions below

2
On BEST ANSWER

Resharper does it very quickly, using Alt+PageDown / ALt+Enter (with the default key bindings). If you are at the first field, Alt+PageDown will jump to the next one (since it'll include wrapping public fields as a suggested refactoring), and Alt+Enter will prompt you to wrap it in a property.

Since you most likely want to avoid a full blanket wrapping of all properties, this is probably the quickest approach. It's quite fast to do this to a class, since it jumps exactly where you need to go...

0
On

Refactor fields to properties (no extensions needed):

Refactor C# fields to properties

Step 1: Refactor all fields to be encapsulated by properties

Step 2: Refactor all properties into auto-implemented properties

2
On

If you're in VS.NET when you rename a field, VS prompts you to change all occurrences of the renamed field.

So change your public Variable to the property name, tell VS to change all the instances of this variable, then create a private variable to store the value and a public property of the Proper name. Delete the public Variable and you should be good to go.