我正在开发一个有趣的小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