Code
I would like to use the ReSharper Move Types Into Matching Files functionality to move the code below which is written in a single .cs'. file:
public abstract class Foo
{
}
public abstract class Foo<T> : Foo
{
}
Executing the ReSharper refactoring causes this exception:
Can not move class Foo because there is another declaration that will be moved into file 'Foo.cs'.
Question
I can think of two outcomes of which either are ok by me:
- Move both
FooandToo<T>intoFoo.cs - Move
FoointoFoo.csand moveFoo<T>intoFooOfT.cs
So, the question remains:
- Is there another best naming practise that does not conflict with resharper?, or
- Is there a way to configure ReSharper to support this naming?
Note
- Because Generics are unique for each possible combination of constraints, the
Fooclass is my interface class. Therefore I won't renameFoo<T>toBar<T>. - I do not wish to rename
FootoFooBaseas it is already an abstract class which makes the explicit 'Base' suffix redundant. - I cannot refactor
FootoIFooasFoois my conceptual interface (because of a required basic implementation.