首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在抽象方法中使用非符合cls的类型。

在抽象方法中使用非符合cls的类型。
EN

Stack Overflow用户
提问于 2012-07-19 09:42:59
回答 1查看 430关注 0票数 1

我有一个使用的外部程序集,无论出于什么原因,它都不指定CLS法规。因此,这会导致我的许多代码被标记为非cls兼容的。我遇到的问题如下:

代码语言:javascript
复制
public abstract class SomeClass
{
    //Compiler Error CS3011
    [CLSCompliant(false)]
    public abstract object SomeMethod(ExternalNonCompliantType arg);
}

public abstract class SomeClass
{
    //Argument type 'External.ExternalNonCompliantType' is not CLS-compliant
    public abstract object SomeMethod(ExternalNonCompliantType arg);
}

CS3011:

类成员不能既抽象又不符合公共语言规范(CLS)。CLS指定实现所有类成员。

我真的不知道该怎么做.

EN

回答 1

Stack Overflow用户

发布于 2012-07-19 10:07:53

  • 您所编写的代码的预期用途是什么?
  • 你能把你的整个程序集变成[CLSComplaint(false)]吗?

如果您的程序集也不兼容,那么您应该可以使用这类代码。您还可以尝试将一个类标记为不兼容的。我一直都在标记整个集会。

如果这只是您的代码,并且您没有将它作为库分发,那么它不应该是一个问题,您也不需要过多地担心CLS的遵从性。

一个例外是,如果您在内部编写一些您希望能够在多种其他CLR语言中重用的东西,如F#、vb.net、ironpython、boo、M、scala等,情况可能并非如此;大多数应用程序就是这样的应用程序。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11558063

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档