gpt4 book ai didi

.net - IronRuby - .NET 4.0 - 方法名称末尾的问号和感叹号

转载 作者:行者123 更新时间:2023-12-02 15:02:08 25 4
gpt4 key购买 nike

只是好奇 .NET 4.0 CLR 世界将如何调用以问号和感叹号结尾的方法?从 C# 或 VB.NET 调用的语法是什么样的?

最佳答案

我认为你必须在这里区分一下情况。

在 CLR 级别上根本没有问题。 CLR 允许在类型和成员名称中包含比大多数语言(例如 C# 和 VB.Net)通常可用的字符集大得多的字符集。例如,在 CLR 级别包含撇号是合法的。

事实上,如果您查看 ECMA CLI 规范的第 8.5.1 节,它并没有明确限制字符集。它仅表示应如何比较它们。

另一个需要考虑的问题是名称实际上如何写入 IL。没有什么可以阻止 IronRuby 在写出程序集时简单地排除感叹号,并在从磁盘读取程序集时将它们添加回来。这种类型的映射由其他语言完成,将丑陋的名称变成有效的名称。例如,如果您查看 List<T>在 IL 级别,它实际上被写为 List`1。

我并不是说 IronRuby 执行这些映射,只是说它们有可能执行这些映射。实际上我对 Ruby 这门语言很陌生。

至于如何从 VB.Net 和 C# 中使用它们。幸运的是,两种语言都可以选择遵循 DLR 来与原始 IronPython 和 IronRuby 进行交互。这使得语言编写者可以灵活地向其他语言公开其成员,并允许在另一个层中将成员名称映射到其内部表示形式。

关于.net - IronRuby - .NET 4.0 - 方法名称末尾的问号和感叹号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1411638/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com