gpt4 book ai didi

c# - 包含不符合 CLS 的引用的程序集是否符合 CLS?

转载 作者:太空狗 更新时间:2023-10-29 17:48:43 25 4
gpt4 key购买 nike

我从自己的项目中引用了一个不符合 CLS 的现有 DLL。当我将我的程序集标记为符合 CLS 时,我收到编译器警告,指出引用的程序集中的名称不符合 CLS。

有没有一种方法可以使我的程序集符合 CLS,并将引用的程序标记为不符合 CLS?

最佳答案

是的,您的 DLL 可以是符合 CLS 的,只要它不从引用的程序集中公开任何不符合 CLS 的成员——也就是说,它没有在它自己的任何公共(public)或 protected 成员或类型。 (它仍然可以在私有(private)和内部成员和类型中使用它们。)

如果您的 DLL 确实需要直接从不兼容的 DLL 公开类型,您可以尝试将这些类型封装在您自己的包装器中(例如,方法可能返回 MyWrapperAroundNaughtyType 而不是 NaughtyType),或者您可以将 API 的相关成员标记为 CLSCompliant(false),以便仅选择那些成员退出编译器检查。

关于c# - 包含不符合 CLS 的引用的程序集是否符合 CLS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4975589/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com