我想知道,其边缘的情况下存在,可以使 共同的语言规范的遵守 可接受的。即使不打算访问其他语言,我认为,该原则所称的 CLSCompliantAttribute 好的最佳做法。

你有没有遇到/知道的情况 YAGNI 超过了最佳做法?

有帮助吗?

解决方案

"[原文]有什么用有在符合CLS?"

介质的信任, ClickOnce, 从一个共享网络驱动器,客人资料域中的设置,等等。有很多的安全情况下,你的代码不能运行,如果你打破CLS遵守情况。

我亲自看到很多情况下,用户是试图运行他们的申请从一个共享网络驱动器,不能因为地方管理已经杀死了非CLS兼容的应用程序的安全轮廓。

在一般情况下,通常有工作方式,围绕这一问题。我会采取相反的做法向上述意见,为什么突破吗?你正在编写托管的代码,为什么你会希望限制上的应用程序的目的是什么?

我要说的是,如果你正在建立一个API组件或部件,应始终坚持他们。太多的第三方组件采取简单的办法,就标志他们为打破当尝试运行从介质的信任。在某些情况下,这是唯一的原因,他们不能运行。如果它们已采取多一点的时间来遵守的准则,用户就不会被限制如何,他们可以使用其组成部分。

其他提示

好了,就属性“PARAMS”阵列有时只是如此诱人(但不符合规定的)。但我建议尽可能使用符合CLS的方法。

我认为与需要那种特征或性能方面的原因遗留层工作时,它的用于库内部的产品是可接受的。

但是,这些不符合标准的接口应然后在较高水平reencapsulated。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top