This is the sixth in a series of quick how-to articles on ReSharper.
Tip #6 – Extract Interface
Use: Creates a new interface based on the selected class and updates the class to implement the new interface. This is most useful when working with an existing code base because we all define our interfaces first when doing greenfield development, right?
Before
1: public class Shooter
2: {
3: public string Name { get; set; }
4:
5: public string ReleaseDate { get; set; }
6:
7: public int MaxPlayers { get; set; }
8:
9: public bool HasZombies { get; set; }
10:
11: public bool IsHalo { get; set; }
12:
13: public void Borrow()
14: {
15: //TODO: Implement borrow logic.
16: }
17: }
Right-click the class
Select members
After
1: public interface IGame
2: {
3: string Name { get; set; }
4: string ReleaseDate { get; set; }
5: int MaxPlayers { get; set; }
6: void Borrow();
7: }
8:
9: public class Shooter : IGame
10: {
11: public string Name { get; set; }
12:
13: public string ReleaseDate { get; set; }
14:
15: public int MaxPlayers { get; set; }
16:
17: public bool HasZombies { get; set; }
18:
19: public bool IsHalo { get; set; }
20:
21: public void Borrow()
22: {
23: //TODO: Implement borrow logic.
24: }
25: }
Happy coding!