TWA
TWA

Reputation: 12816

Tools for refactoring C# public fields into properties

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?

Upvotes: 6

Views: 4280

Answers (3)

Josh Withee
Josh Withee

Reputation: 11346

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

Upvotes: 5

rie819
rie819

Reputation: 1249

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.

Upvotes: 0

Reed Copsey
Reed Copsey

Reputation: 564611

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...

Upvotes: 8

Related Questions