Код
Я хотел бы использовать функцию ReSharper Переместить типы в соответствующие файлы, чтобы переместить приведенный ниже код, который написан одним .cs
'. файл:
public abstract class Foo
{
}
public abstract class Foo<T> : Foo
{
}
Выполнение рефакторинга ReSharper вызывает это исключение:
Невозможно переместить класс Foo, так как есть другое объявление, которое будет перемещено в файл «Foo.cs».
Вопрос
Я могу думать о двух результатах, которые меня устраивают:
- Переместите оба
Foo
иToo<T>
вFoo.cs
- Переместите
Foo
вFoo.cs
и переместитеFoo<T>
вFooOfT.cs
Итак, остается вопрос:
- Есть ли другая лучшая практика именования, которая не конфликтует с resharper? или
- Есть ли способ настроить ReSharper для поддержки этого именования?
Примечание
- Поскольку обобщения уникальны для каждой возможной комбинации ограничений, класс
Foo
является моим классом интерфейса. Поэтому я не буду переименовыватьFoo<T>
вBar<T>
. - Я не хочу переименовывать
Foo
вFooBase
, так как это уже абстрактный класс, который делает явный суффикс "Base" излишним. - Я не могу преобразовать
Foo
вIFoo
, так какFoo
— это мой концептуальный интерфейс (из-за необходимой базовой реализации.
ClassNameOfT.cs
. stackoverflow.com/a/804114/781792 - person Tim S.   schedule 06.09.2013Tuple
с несколькими аргументами типа, но в разных файлах, лол. - person Adam Houldsworth   schedule 06.09.2013