我正在開發一個有趣的小C#應用程序。我喜歡這種語言,但有些事情會打擾我...C#等價的Ruby符號
有沒有辦法做一個#define(C模式)或符號(紅寶石模式)。
紅寶石符號是相當有用的。它只是一個以「:」開頭的名字(例如「guy」),每個符號都是唯一的,可以在代碼中的任何地方使用。
在我的情況下,我想發送一個標誌(連接或斷開)到一個函數。
什麼是最優雅的C#方式做到這一點?
這裏是我想要做什麼:
BgWorker.RunWorkersAsync(:connect)
//...
private void BgWorker_DoWork(object sender, DoWorkEventArgs e)
{
if (e.Arguement == :connect)
//Do the job
}
在這一點上我最喜歡的答案是枚舉的解決方案;)
這可能是值得你投入C或Ruby代碼的一個小例子來更好地展示_exactly_如何」 d喜歡把你的這個連接/斷開標誌使用。 – Xiaofu 2010-02-27 15:09:00
感謝您的補充。由於我不熟悉Ruby,可以在運行時動態聲明符號嗎?這是我根據你在這裏使用它們的方式得到的印象。 – Xiaofu 2010-02-27 15:24:04
@Xiaofu符號不需要聲明,紅寶石會自動爲它們分配一個值,當它第一次讀取它們時。如果代碼中再次出現相同的相同符號,則重複使用相同的值。 2個符號不能具有相同的值。 – 2010-02-27 15:31:44