我有一个不符合 CLS 的现有 DLL,我从自己的项目中引用了该 DLL。当我将程序集标记为符合 CLS 时,我收到编译器警告,指出引用的程序集中的名称不符合 CLS。
有没有一种方法可以让我的程序集符合 CLS 并将引用的程序集标记为不符合?
是的,只要您的 DLL 不从引用的程序集中公开任何不符合 CLS 的成员,即它不会在其自己的任何公共或受保护的成员或类型中提及它们,就可以符合 CLS 。 (它仍然可以在私有和内部成员和类型中使用它们。)
如果您的 DLL 确实需要直接从不兼容的 DLL 公开类型,您可以尝试将这些类型封装在您自己的包装器中(例如,方法可能返回MyWrapperAroundNaughtyType
代替NaughtyType
),或者您可以标记您的 API 的相关成员CLSCompliant(false)
仅选择那些成员不进行编译器检查。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)