2017-06-05 31 views
0

防止排序上實現鑑於以下<code>abstract</code>類抽象類

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

在Visual Studio代碼,如果我選擇 「實現抽象類」:

Implement Abstract Class example

的方法是自動生成的按字母順序排列:

Implement Abstract Class result


在VS Code中是否存在一個設置,允許我按照最初定義的順序保留方法的順序?

回答

2

Visual Studio和VS Code使用Roslyn語言服務來啓用這些類型的代碼修復。

爲了找出哪些成員從實施中失蹤,Roslyn uses simple reflection上的基礎類型。

不幸的是,有了反思,根本沒有no guaranteed member order。編譯的IL也沒有任何成員命令,所以從技術上講,僅從編譯類型獲取成員定義命令是不可能的。唯一的方法是實際查看源文件;但這不僅僅是Roslyn的工作原理。