- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
作为 OSS 库的作者,我一直试图让我的东西符合 CLS。但是 MS 并没有让这变得容易。他们经常让您陷入 22 条军规,例如以下情况:
据我所知,没有一种 .NET 语言不支持以下划线开头的变量,而且我在许多需要子类可见变量的地方使用了它们。
我厌倦了这些警告,我计划在我的 30 多个 C# 库的汇编级别关闭 CLS 合规性。
关闭图书馆的 CLS 合规性是否存在任何实际问题?这样做有什么真正的问题吗?
几十年来,Microsoft 一直在发布令人忽视的软件指南,其中只有不到 5% 的字节值得编码的字节数。我找不到任何证据表明此最佳实践有任何实际意义对任何事情的影响。
但是,为了小心,我正在检查。
不,这不是这个问题的反面的重复:Any reason not to mark a DLL as CLSCompliant?
我在这里寻找的是实际结果和效果,而不是 MS 实习生的建议。
例如,如果 IronPython、IronRuby 或 F# 无法读取或写入以下划线开头的变量,这就是一个影响,尽管它只会对子类化某些对象的用户造成问题。
如果一种语言或工具完全无法使用程序集,除非它被标记为符合 CLS,这就很重要了。
最佳答案
据我所知,不合规的实际或真实问题是您失去了保证。
http://msdn.microsoft.com/en-us/library/bhc3fa7f.aspx
这就像对您的计算机进行超频或驾驶带有第三方模块的汽车,如果出现任何问题(即使它碰巧可以工作),您将失去最初为您提供服务的人员的“官方”支持。
在 CLS 合规性的情况下,您将失去 MS 对您的代码与其他语言的互操作性的支持(我自己强调):
If you design a CLS–compliant class library, your library will have a guarantee of interoperability with a wide range of programming languages
至于所有的 catch-22,我不知道。不能说我曾经关心过 CLS 合规性。
关于c# - 未标记为符合 CLS 的程序集的实际限制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9800723/
我从自己的项目中引用了一个不符合 CLS 的现有 DLL。当我将我的程序集标记为符合 CLS 时,我收到编译器警告,指出引用的程序集中的名称不符合 CLS。 有没有一种方法可以使我的程序集符合 CLS
我有一个 python 程序,我试图在命令提示符下使用 ANSI 代码以彩色文本打印“Hello”。当我正常打印时,它不工作,它只是打印?和文本,但是当我在清除命令提示符后打印它时它工作正常。有人可以
CLS 允许类中代码的私有(private)部分不符合 CLS。这怎么可能,因为最终代码需要转换为 IL? 最佳答案 CLS 代表通用语言规范。为简化起见,它基本上是所有 .NET 语言必须了解的最少
只是为了我的澄清: 我能否在 .NET Framework 中抛出符合 CLS 和不符合 CLS 的异常?我正在使用 C# 3.0。 当我捕捉到异常时 catch(Exception ex) { }
难道 super(cls, instance) 和 super(cls, subclass) 都返回 cls 的父类(super class)吗? 最佳答案 差别很大; super() 使用类型(类)
我如何在 javasciript 中进行原型(prototype)继承。通常我这样做和 derivedFn.prototype = object.create(clsParent.prototype
我对 python 文档中的以下示例感到有点困惑 here . >>> class inch(float): ... "Convert from inch to meter" ...
我以前从未见过其他任何东西像这样工作。 还有其他的东西可以做到这一点吗? >>> class NothingSpecial: @classmethod def meth(cls):
在Python中,假设obj类型为objtype ,是super(cls,obj)和super(cls,objtype)相同? super(cls,obj) 是否正确?转换obj到另一个对象,其类是
如果我有一个项目并将其标记为 我是否需要在项目中的每个类之前放置CLSCompliant(True),还是它们都默认为CLSCompliant? 最佳答案 在程序集级别添加 CLSCompliant
python unittest有没有办法从文件中读取参数并将其分配给setUpClass(cls)? 例: 我有json文件,其中包含: { "browserType" : "Chrome",
我正在使用 .net Framework 3.5 并在我的项目中使用 RDLC 文件进行报告。我面临的问题是,在我的数据集中,我有一个以数字命名的字段“63”,每当我在我的 RDLC 文件中使用它时,
我正在尝试用 C 语言编写 Snake,但目前我刚刚编写了一个可变长度和宽度的矩阵。由于我希望游戏(即 map )不断刷新,所以我尝试这样编写代码,但“刷新效果”不太好看到。我能做什么? #inclu
这个问题在这里已经有了答案: Why is this name with an underscore not CLS Compliant? (8 个答案) 关闭 9 年前。 我有一个类,它包含三个字
如何使程序集/类符合 CLS?他们应该有什么标准?如果我只是用 [assembly: CLSCompliant(true)] 注释我的程序集并且我的类型之一不符合 CLS,它会影响程序集的行为吗? 最
我在构建项目时遇到错误: Warning as Error: Type of 'OthersAddresses.AddresseTypeParameter' is not CLS-compliant
我目前正在阅读 Albahari 的 C# 3.0 in a Nutshell并在第241,在谈到数组索引时,他是这样说的: Nonzero-based arrays are not CLS (Com
我在 C# 类库中有以下代码... public static class foo { public enum bar { bsNone = -1, b
我有一个 .NET 3.5 C# 项目,它的命名空间为 SampleNamespace.Tools.Sample。 如果我将名为“Samplenamespace.Utils.Example”的程序集添
今天我在查看别人的代码,看到了这个: class A(B): # Omitted bulk of irrelevant code in the class def __init__(s
我是一名优秀的程序员,十分优秀!