防止对 Implement Abstract Class 进行排序

Prevent sorting on Implement Abstract Class

给定以下 abstract class:

public abstract class AbstractTest
{
    protected abstract void B();
    protected abstract void Aa();
    protected abstract void Ab();
    protected abstract void C();
}

在Visual Studio代码中,如果我select"Implement Abstract Class":

方法按字母升序自动生成:


VS Code 中是否存在允许我按照我最初定义它们的顺序保留方法顺序的设置?

Visual Studio 和 VS Code 使用 Roslyn 语言服务来启用此类代码修复。

为了弄清楚实现中缺少哪些成员,Roslyn uses simple reflection 在基本类型上。

不幸的是,通过反射,根本就没有 no guaranteed member order。编译型 IL 也没有任何成员顺序,因此从技术上讲不可能从编译类型中获取成员定义顺序。唯一的方法是实际查看源文件;但这不是 Roslyn 的工作方式。