一千萬個為什麽

搜索

是否有Java或C#的宏設施?

宏很有用。

因此,我偶爾會哀嘆Java和C#中缺少宏。宏允許我強制內聯,但允許我非宏代碼的代碼可管理性。

是否有任何基於Java或C#的項目/產品可以有效地允許宏或指定內聯擴展。

我在想類似的東西

@macro public void hello(int x){...}

或者當我調用一個方法時,調用之前的@inline註釋會影響被調用方法的內聯。

或者,我是否應該知道我應該相信編譯器能夠為我做出最好的決定,即在其分析的最佳狀態下,它可以在線調用。

我希望這個問題不會導致辯論宏的利弊/有用性。

最佳答案

我建議相信JIT編譯器在內聯時做出決定。

但是,如果您只是出於其他目的而在宏之後,在C#/ .NET中,還有其他選項。可以通過 T4來完成用於實用目的的宏可以做的大部分工作(文本模板轉換工具包)。例如,這是許多ORM包的基礎。

轉載註明原文: 是否有Java或C#的宏設施?