ide*_*ide 9 c# cls-compliant c#-4.0
我有一个不符合CLS的现有DLL,我从我自己的项目中引用.当我将程序集标记为符合CLS时,我得到编译器警告,引用的程序集中的名称不符合CLS.
有没有办法让我的程序集符合CLS标准并将引用的标记标记为不?
ito*_*son 10
是的,您的DLL可以符合CLS,只要它不会从引用的程序集中公开任何非CLS兼容的成员 - 也就是说,它没有在任何公共或受保护的成员或类型中提及它们. .(它仍然可以在私有和内部成员和类型中使用它们.)
如果您的DLL确实需要直接从不兼容的DLL公开类型,您可以尝试将这些类型封装在您自己的包装器中(例如,方法可能返回MyWrapperAroundNaughtyType而不是a NaughtyType),或者您可以将API的相关成员标记CLSCompliant(false)为选择那些成员完成编译器检查.
| 归档时间: |
|
| 查看次数: |
3501 次 |
| 最近记录: |