问题标签 [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# - 为什么要编写符合 CLS 的代码?
我发现了很多关于 CLS 合规性的页面。
我已经了解 CLS 合规性:
许多人写道:“如果您编写代码,则应该编写符合 CLS 的代码。” 但据我所知,没有理由在通用软件中使用 CLS 合规性。
我是对的,还是我错过了什么?
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
,当我尝试对Utils
DLL 进行强命名时,我仍然会收到错误消息。
这可能ThirdPartyLibrary
是不符合 CLS 的旧 COM 库的结果吗?我无法控制这个库。当我不尝试签署Utils
程序集时,我没有收到接口错误。
我的大问题是:我如何签署这个程序集?
编辑:这里有什么IConnection
:
c# - 为什么这个 CLS 不兼容?
我有以下接口:
我的 ITemplateItem 实现如下所示:
但是对于 ITemplateCategory 实现,编译器告诉我我的类不符合 CLS。
行,
我可以忽略这些警告或通过将 CLSCompliant(false) 属性添加到我的类来关闭它们。但我很好奇为什么会发生这种情况。特别是因为编译器不会抱怨接口本身。
一般公开接口的类是否会发生这种情况,还是我只是使用了禁止的关键字?
asp.net - 成员类型不符合 CLS
使用 Visual Studio 2008 和 VB.Net:
我有一个使用 ASMX Web 服务的工作 Web 应用程序,该服务被编译到其单独的程序集中。我有另一个类库项目编译为一个单独的程序集,用作此 Web 服务的代理。这一切似乎在运行时工作,但我在编译时收到这个警告,我不明白并想修复:
成员“wsZipeee”的类型不符合 CLS
我在主项目中有几十个 webforms 引用了代理类,没有编译时投诉,如这段代码所示:
然而,我有一个网络表单(也在主项目的根目录中),它给了我“不符合 CLS”的消息,但尝试像其他 ASPX 文件一样引用代理类。我在我用 'ERROR here.. 注释的行上收到了编译时警告。
这对我来说毫无意义。带有警告的文件名为 frmHome.aspx.vb;项目中的所有其他人都以相同的方式声明事物并且没有警告。顺便说一句,网络服务本身返回标准数据类型:整数、字符串和数据集。
c# - 基本类型在第三方控制中不符合 CLS
我有一个我购买的控件。当我尝试从控件继承时,我收到以下消息:
除了要求我的控件供应商使他们的控件符合 CLS 之外,还有什么办法可以解决这个问题?
c# - 清理 C# 编译器警告 CS3016:作为属性参数的数组不符合 CLS
我有一些代码,它会在几个地方生成这个警告。我想修复它们,但我不知道它们在哪里,因为 C# 编译器没有报告错误行(有一个开放的 MS Connect 问题)。
有没有工具可以告诉我有问题的代码在哪里?IL 级工具很好,知道方法名称和声明类型就足够了。
vb.net - 符合 CLS 的问题
我定义了以下属性。MyLibrary.PumpSignal 是一个枚举,如下所示:
然后我有另一个类具有 PumpSignal 类型的属性。
.NET 一直抱怨 PumpState 的返回值不符合 cls。
asp.net - 如何将任意字符串转换为符合 CLS 的名称?
有谁知道我可以调用以将任意字符串(即在我的控制之外)转换为符合 CLS 的算法(或外部库)?
我正在为 ASP.Net 报表查看器控件生成动态 RDLC(客户端报表定义),并且某些字段名称需要基于用户输入的字符串。
不幸的是,我几乎无法控制客户端输入的字段名称(通过第 3 方 CMS)。但是我对创建兼容字符串所需的替换非常灵活。
我现在有一个反应式黑客算法,大致如下:
但我会喜欢更全面的东西。有任何想法吗?
注意:如果有任何帮助,我用来创建动态 RDLC 的算法基于此处的 BuildRDLC 方法:http://csharpshooter.blogspot.com/2007/08/revised-dynamic-rdlc-generation 。 html
c# - 如何将一个或多个属性应用于项目中的所有类?
如何将属性应用于特定项目中的所有类?!仅将 CLSCompliant 属性应用于一个类就足够了,还是我必须应用于所有类?
谢谢你的回答...