问题标签 [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.

0 投票
4 回答
30134 浏览

c# - 为什么要编写符合 CLS 的代码?

我发现了很多关于 CLS 合规性的页面。

我已经了解 CLS 合规性:

许多人写道:“如果您编写代码,则应该编写符合 CLS 的代码。” 但据我所知,没有理由在通用软件中使用 CLS 合规性。

我是对的,还是我错过了什么?

0 投票
1 回答
6975 浏览

.net - .NET 中的 CIL、CLS 和 CTS

.NET中的CILCTSCLS是什么,它们之间有什么区别?

0 投票
4 回答
855 浏览

c# - 签署 C# 程序集时出现接口未实现错误

我一直在尝试签署程序集并收到此错误:

“Utils.Connection”没有实现接口成员“Interfaces.IConnection.BugFactory()”。“Utils.Connection.BugFactory()”无法实现“Interfaces.IConnection.BugFactory()”,因为它没有匹配的返回类型“ThirdPartyLibrary.BugFactory”。

那个错误看起来像一个肮脏,肮脏的谎言!在Utils.Connection,我有这个方法:

我不认为new关键字是问题,因为 1)删除它不会停止错误,2)我在另一个实现不使用关键字的类时遇到IConnection同样new错误 。更新: 如果我使用,override而不是new,我得到这个错误:

'Utils.Connection.BugFactory()':无法覆盖,因为 'ThirdPartyLibrary.ConnectionClass.BugFactory' 不是函数

这是因为ThirdPartyLibrary.ConnectionClass.BugFactory是一个属性。

只有一个BugFactory类,因此接口需要BugFactory与方法返回的返回类型不同的返回类型不是问题。即使我明确地将我的方法标记为返回ThirdPartyLibrary.BugFactory,当我尝试对UtilsDLL 进行强命名时,我仍然会收到错误消息。

这可能ThirdPartyLibrary是不符合 CLS 的旧 COM 库的结果吗?我无法控制这个库。当我尝试签署Utils程序集时,我没有收到接口错误。

我的大问题是:我如何签署这个程序集?

编辑:这里有什么IConnection

0 投票
1 回答
1715 浏览

c# - 为什么这个 CLS 不兼容?

我有以下接口:

我的 ITemplateItem 实现如下所示:

但是对于 ITemplateCategory 实现,编译器告诉我我的类不符合 CLS。

行,

我可以忽略这些警告或通过将 CLSCompliant(false) 属性添加到我的类来关闭它们。但我很好奇为什么会发生这种情况。特别是因为编译器不会抱怨接口本身。

一般公开接口的类是否会发生这种情况,还是我只是使用了禁止的关键字?

0 投票
1 回答
1353 浏览

asp.net - 成员类型不符合 CLS

使用 Visual Studio 2008 和 VB.Net:

我有一个使用 ASMX Web 服务的工作 Web 应用程序,该服务被编译到其单独的程序集中。我有另一个类库项目编译为一个单独的程序集,用作此 Web 服务的代理。这一切似乎在运行时工作,但我在编译时收到这个警告,我不明白并想修复:

成员“wsZipeee”的类型不符合 CLS

我在主项目中有几十个 webforms 引用了代理类,没有编译时投诉,如这段代码所示:

然而,我有一个网络表单(也在主项目的根目录中),它给了我“不符合 CLS”的消息,但尝试像其他 ASPX 文件一样引用代理类。我在我用 'ERROR here.. 注释的行上收到了编译时警告。

这对我来说毫无意义。带有警告的文件名为 frmHome.aspx.vb;项目中的所有其他人都以相同的方式声明事物并且没有警告。顺便说一句,网络服务本身返回标准数据类型:整数、字符串和数据集。

0 投票
1 回答
1163 浏览

c# - 基本类型在第三方控制中不符合 CLS

我有一个我购买的控件。当我尝试从控件继承时,我收到以下消息:

除了要求我的控件供应商使他们的控件符合 CLS 之外,还有什么办法可以解决这个问题?

0 投票
2 回答
2396 浏览

c# - 清理 C# 编译器警告 CS3016:作为属性参数的数组不符合 CLS

可能重复:
“作为属性参数的数组不符合 CLS”警告,但未给出类型信息

我有一些代码,它会在几个地方生成这个警告。我想修复它们,但我不知道它们在哪里,因为 C# 编译器没有报告错误行(有一个开放的 MS Connect 问题)。

有没有工具可以告诉我有问题的代码在哪里?IL 级工具很好,知道方法名称和声明类型就足够了。

0 投票
1 回答
996 浏览

vb.net - 符合 CLS 的问题

我定义了以下属性。MyLibrary.PumpSignal 是一个枚举,如下所示:

然后我有另一个类具有 PumpSignal 类型的属性。

.NET 一直抱怨 PumpState 的返回值不符合 cls。

0 投票
2 回答
1356 浏览

asp.net - 如何将任意字符串转换为符合 CLS 的名称?

有谁知道我可以调用以将任意字符串(即在我的控制之外)转换为符合 CLS 的算法(或外部库)?

我正在为 ASP.Net 报表查看器控件生成动态 RDLC(客户端报表定义),并且某些字段名称需要基于用户输入的字符串。

不幸的是,我几乎无法控制客户端输入的字段名称(通过第 3 方 CMS)。但是我对创建兼容字符串所需的替换非常灵活。

我现在有一个反应式黑客算法,大致如下:

但我会喜欢更全面的东西。有任何想法吗?

注意:如果有任何帮助,我用来创建动态 RDLC 的算法基于此处的 BuildRDLC 方法:http://csharpshooter.blogspot.com/2007/08/revised-dynamic-rdlc-generation 。 html

0 投票
2 回答
139 浏览

c# - 如何将一个或多个属性应用于项目中的所有类?

如何将属性应用于特定项目中的所有类?!仅将 CLSCompliant 属性应用于一个类就足够了,还是我必须应用于所有类?

谢谢你的回答...