language-features - 你希望哪些功能是通用语言?

标签 language-features

就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the help center寻求指导。




9年前关闭。




你希望哪些功能是通用语言?更准确地说,我的意思是通常根本不存在但很高兴看到的功能,而不是“我希望动态类型很流行”。

最佳答案

我经常认为“可观察”会成为一个很好的字段修饰符(如公共(public)、私有(private)、静态等)

GameState {
   observable int CurrentScore;
}

然后,其他类可以声明该属性的观察者:
ScoreDisplay {
   observe GameState.CurrentScore(int oldValue, int newValue) {
      ...do stuff...
   }
}

编译器将使用通知代码包装对 CurrentScore 属性的所有访问,并在值修改后立即通知观察者。

当然,您可以在大多数编程语言中使用事件监听器和属性更改处理程序做同样的事情,但这是一个巨大的痛苦,需要大量零碎的管道,特别是如果您不是您想要其值的类的作者观察。在这种情况下,您通常必须编写一个包装子类,将所有操作委托(delegate)给原始对象并从 mutator 方法发送更改事件。为什么编译器不能生成所有愚蠢的样板代码?

关于language-features - 你希望哪些功能是通用语言?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/309334/

相关文章:

c#-3.0 - 使用 C# 3.0 特性有什么缺点吗?

tuples - C# 7.0 中的元组文字能否启用面向方面的编程

Clojure 中的 Java 等效开关?

c++ - 如果方法调用以两个冒号开头,这意味着什么?

vb.net - 使用 SQL 参数处理 IN 子句中的数据?

python - “self”的 Ruby 和 Python 版本有什么区别?

unity3d - 我应该使用jMonkeyEngine 3(jME 3)还是Unity 4.3向 children 教授游戏编程?

operators - 这种语言功能已经存在吗?

groovy - 有没有办法在 Groovy 中拥有可调用对象?

c# - C#中有eval函数吗?