【发布时间】:2011-01-21 19:17:54
【问题描述】:
为了好玩,我正在开发一个小的 C# 应用程序。我喜欢这种语言,但有些东西让我感到不安......
有没有办法做一个#define(C模式)或一个符号(ruby模式)。
红宝石符号非常有用。它只是一些前面有“:”的名称(例如“:guy”),每个符号都是唯一的,可以在代码中的任何位置使用。
就我而言,我想向函数发送一个标志(连接或断开连接)。
最优雅的 C# 方法是什么?
这是我想做的:
BgWorker.RunWorkersAsync(:connect)
//...
private void BgWorker_DoWork(object sender, DoWorkEventArgs e)
{
if (e.Arguement == :connect)
//Do the job
}
此时我最喜欢的答案是枚举解决方案;)
【问题讨论】:
-
可能值得您放入一个 C 或 Ruby 代码的小示例,以更好地准确地展示您希望如何将您的连接/断开连接标志放置到使用。
-
感谢您添加。由于我不熟悉 Ruby,可以在运行时动态声明符号吗?这是我根据您在此处使用它们的方式得出的印象。
-
@Xiaofu Symbols 不需要声明,ruby 会在第一次读取它们时自动为它们赋值。如果代码中再次出现相同的符号,则重复使用相同的值。 2 个符号不能具有相同的值。