gpt4 book ai didi

c# - 使用 ReSharper 将 Foo 和 Foo 移动到匹配的文件

转载 作者:行者123 更新时间:2023-11-30 12:29:25 24 4
gpt4 key购买 nike

代码

我想使用 ReSharper 将类型移入匹配文件 功能来移动下面的代码,该代码写在单个 .cs 中'.文件:

public abstract class Foo
{

}

public abstract class Foo<T> : Foo
{

}

执行 ReSharper 重构会导致此异常:

Can not move class Foo because there is another declaration that will be moved into file 'Foo.cs'.

问题

我可以想到两个结果,其中一个对我来说是可以的:

  1. 同时移动 FooToo<T>进入Foo.cs
  2. 移动Foo进入Foo.cs并移动Foo<T>进入FooOfT.cs

那么,问题依然存在:

  1. 是否有其他与 resharper 不冲突的最佳命名实践?或者
  2. 有没有办法配置 ReSharper 以支持这种命名?

注意

  • 因为泛型对于每个可能的约束组合都是唯一的,所以 Foo类是我的接口(interface)类。因此我不会重命名 Foo<T>Bar<T> .
  • 我不想重命名 FooFooBase因为它已经是一个抽象类,这使得显式的“Base”后缀变得多余。
  • 我无法重构 FooIFoo作为Foo是我的概念界面(因为需要基本实现。

最佳答案

据我所知,没有办法告诉 Resharper 附加文​​件名的通用参数。它只会使用类名,即 Foo , Foo<T>Foo<A, B, C>都有Foo.cs作为文件名,但是 - 这就是问题所在 - ReSharper 似乎不知道存在这种可能性,并且会在这种情况下向您显示错误。除了logging a bug or feature request,你真的无能为力。 .

关于c# - 使用 ReSharper 将 Foo 和 Foo<T> 移动到匹配的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18660435/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com