CLSCompliant属性是什么?

推荐答案

You mark classes with the CLSCompliant attribute when you want to make sure it can be used by any other .NET language.
These are the basic rules:

  1. 无符号类型不应是类的公共接口的一部分.这意味着公共字段不应该有像uintulong这样的无符号类型,公共方法不应该返回无符号类型,传递给公共函数的参数不应该有无符号类型.但是,无符号类型可以是私有成员的一部分.

  2. 不安全类型(如pointers)不应与public个成员一起使用.但是,它们可以与private个成员一起使用.

  3. 类名和成员名不应仅根据大小写而有所不同.例如,我们不能有两个名为MyMethodMYMETHOD的方法.

  4. 只能重载属性和方法,不应重载运算符.

.net相关问答推荐

CLR如何在后台优化布尔比较操作?

如何从 tshark 的 stderr 捕获实时数据包计数?

保存时不保留 XML 格式

EGC / 文本元素上的 .NET String.Split

Web API 中基于令牌的身份验证,无需任何用户界面

您如何确定两个 HashSet 是否相等(按值,而不是按引用)?

为什么 .Contains 慢?通过主键获取多个实体的最有效方法?

来自奥尔森时区的 .NET TimeZoneInfo

ReaderWriterLock 与锁{}

为什么 System.Timers.Timer 能在 GC 中存活,而 System.Threading.Timer 不能?

WCF服务客户端:内容类型text/html;响应消息的charset=utf-8 与绑定的内容类型不匹配

解密 .NET clr20r3 异常参数 P1..P10

析构函数、dispose 和 finalize 方法的区别

什么是 ToString("N0") 格式?

String.Replace() 与 StringBuilder.Replace()

无法加载文件或程序集Antlr3.Runtime (1)或其依赖项之一

.NET 委托类型的正确命名约定?

为什么 !0 是 Microsoft 中间语言 (MSIL) 中的一种类型?

如何将 .NET 应用程序编译为本机代码?

作者主签名的时间戳发现了一个建链问题:UntrustedRoot: self-signed certificate in certificate chain