问题标签 [cls-compliant]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 如何在我的 .NET 代码中找到所有不符合 CLS 的语句?
如何在我的 .NET 代码中找到所有不符合 CLS 的语句?
Visual Studio 2015 编译器可以做到吗?如何找到不符合 CLS 的警告?
我检查了StyleCop ReSharper 扩展和ndepend没有成功。
我所追求的是在我的 C# 代码 Visual Studio 项目中找到所有不符合 CLS 的语句。最终目标是为其添加[assembly: CLSCompliant(true)]
标签。
谢谢。
c# - NUnit TestCase - 数组作为属性参数不符合 CLS
我有一个带有四个参数的测试用例属性:
编译器说:
作为属性参数的数组不符合 CLS。
如果我删除一个论点,它的作品就完美了。因此,我不清楚为什么具有四个属性的测试用例不符合 CLS。我正在使用 NUnit 3.5。
.net - 运算符或 IEquatable 接口是否符合 CLS?
我有一个包含Module
名为Langs的 DLL 文件。在这个模块里面我有一个类叫做AvailableLanguage
,类定义如下:
我在另一个包含 Windows 窗体的 DLL 中使用这个类。现在我的 Windows 窗体很空:
但是就在那里,Visual Studio 2012 Express 向我发出警告,说:
类型“AvailableLanguage”不符合 CLS。
从 MSDN,我了解到某些类型使类或函数不符合 CLS,但是我没有使用其中的任何一个,这只是一个整数和一个字符串。
如果我将CLS 兼容属性设置为 True,我可以隐藏警告:
但是我不明白为什么这个类不符合 CLS。
显然这不是因为属性类型。所以剩下的是:
- IEquatable(Of T) 接口
- = 和 <> 运算符
哪一个 ?
编辑
我删除了所有功能和接口,得到了完全相同的结果。我只是在创建一个具有一些只读属性(整数和字符串类型)的对象,并且表单类告诉我 AvailableLanguage 不符合 CLS。
如果我在表单类中添加了可用语言类型的私有字段,则不会显示警告:
老实说,我很想了解发生了什么以及这个符合 CLS 的事情是如何工作的。
c#-6.0 - 如何在符合 CLS 的程序集中使用 CallerMemberName
我CallerMemberName
在一个类的实现中使用了该属性,INotifyPropertyChanged
如MSDN中所述,如下所示:
但是,使用默认参数不符合 CLS。但是CallerMemberName
只能与具有默认值的参数一起使用...有没有一种常用的方法来解决这种不一致,而无需使用硬编码的字符串参数调用 notify 方法?
.net-standard - 如何将 .NET Standard 代码标记为符合 CLS?
标题说明了一切——如何将 .NET 标准库标记为符合 CLS?
我用 C# 编写了一个针对 .NET Standard 1.0 框架的简单库。它包括两个枚举:
当我尝试在 .NET 4.6 项目中使用该库时,它会将枚举标记为不符合 CLS:
警告 CS3001 参数类型“操作”不符合 CLS
我无法向 AssemblyInfo.cs 添加任何内容,因为 .NET 标准不使用它。它似乎也不支持作为 .csproj 文件中的属性。
.net-core - 是否有任何理由将 .NET Standard 或 .NET Core 库标记为符合 CLS
是否有任何理由将 .NET Standard 或 .NET Core 库标记为符合 CLS?
据我了解:如果我用 C-sharp 构建一个 .NET Framework 库并使其完全符合 CLS,则所有类型/成员都可以从 .NET Framework 库或用 VB-net、F- 编写的应用程序中使用和调用尖锐等(不知道所有的 CLR 语言),引用我的库。
使用 .NET Standard 和 .NET Core 时,这不再相关了吗?除了 C-sharp 之外,还有哪些语言可以引用 .NET Standard 库?
但是,如果有多种语言并且您想让库与 CLS 兼容,这将很困难,因为许多 .NET 标准类型不兼容 CLS。
一些不符合 CLS 的类型:
- Microsoft.Extensions.FileProviders.IFileProvider
- Microsoft.Extensions.Logging.ILogger
- Microsoft.Extensions.Logging.ILoggerFactory
GitHub上有关于此的问题:
但据我了解,不会有任何变化:
c# - \t CLS 兼容吗?
我正在尝试逐步迁移我的 VB Dot Net 代码以仅使用符合 CLS 的语言元素,以便最终切换到 C# 时不那么痛苦。
目前,我正在使用 Microsoft.VisualBasic.vbTab 并正在寻找 CLS 等效项。
谢谢。
c# - CLS 不合规的潜在影响是什么?
我最近开始了一项新的工作,使用了一个新的代码库,当我第一次编译新代码时,我发现编译器输出中存在超过 1200 个警告,这让我感到非常恐惧。以前,我正在研究医疗设备软件,我们根本不允许有任何警告(使用 /werr 编译),所以这些警告让我感到恶心和不舒服。
以我的经验,警告通常表明潜在的错误,或者至少是粗略一瞥后实际上并没有做它看起来应该做的代码,加上有这么多警告,很难在我们发现新的警告时出现发展。
我目前正在编写一份报告,希望用来说服项目经理花时间修复这些警告是值得我们努力的。作为其中的一部分,我一直在为每个不同的 CS 级别警告代码分配一个“危险值”(1 到 10 之间)。不过,我对有关 CLS Non-Compliance 的警告没有经验,所以我不确定应该如何对它们进行分类。
谁能解释 CLS 不合规警告有多危险?
c# - C# CLS 是否不包括传递 ulong 参数?
以下内容来自一本关于 C# 的书。
为了说明,以下 Add() 方法不符合 CLS,因为参数和返回值使用无符号数据(这不是 CLS 的要求):
这是什么意思?函数怎么能不ulong
取值?C# 的 CLS(通用语言规范)中没有涵盖这一点吗?
我确实尝试了这个例子,它构建并运行良好。我认为传递一个ulong
论点是非常基本的。本段集会是什么意思?
wordpress - 如何减少 WooCommerce 产品标签上的元素 CLS
我对调整 CLS 的东西还很陌生,但我现在正在努力学习它以优化我的网站。我注意到的一件事是,在我的 WooCommerce 网站上,我的 WooCommerce 产品页面的选项卡部分受到了 CLS 的巨大打击。这是选项卡部分,据我了解 CLS 我需要更多地指定元素的高度和宽度以避免 CLS 问题,但是由于高度自动更改,因此使用选项卡我“不知道如何解决这个问题。我正在使用谷歌页面速度工具
例如,有问题的链接是
https://toolcurve.com/product/bosch-1617-router-adapter-for-festool-makita-guide-rails/
它是说<div class="woocommerce-tabs wc-tabs-wrapper">
是我需要解决的元素,但是我如何使这个元素符合 CLS,因为我不能给它一个设定的高度,因为使用选项卡它会将产品更改为产品。谢谢你。