繁体   English   中英

哪些C#编译器错误没有记录?

[英]Which C# compiler errors are undocumented?

这是一个未记录的可能的C#编译器错误的集合。

如果您遇到这样的错误,请在此处发布回答:

  • ) 错误号(CS
  • 相关的错误消息
  • 如果可能的话,会产生一小段代码,会产生错误

例:

CS0224:

使用vararg的方法不能是通用的,可以是泛型类型,也可以是params参数

由。。。生产:

 int Foo<T>(__arglist) { return 0; } 

如果有人已发布列出您遇到的错误的答案,请编辑该答案以添加其他详细信息。

可以在MSDN上找到记录的错误列表 似乎有很多人失踪......

在编译器字符串资源表中找到,但在MSDN Library索引中找不到。 其中许多肯定是过时的,有些闻起来像有趣的无证功能,如支持模块和测试。 检查CS2000:

CS0018:运营商'xxx'尚未实施
CS0240:'xxx'不能同时抽象和密封(现为CS0418)
CS0679:其他语言可能允许覆盖内部虚拟成员“xxx”
CS0767:无法使用指定的类型参数继承接口'xxx',因为它导致方法'yyy'包含仅在ref和out上有所不同的重载
CS0846:表达式树可能不包含使用可选参数的调用或调用
CS0847:表达式树可能不包含索引属性
CS0848:索引属性“xxx”具有必须提供的非可选参数
CS0849:索引属性“xxx”必须具有所有可选参数
CS0850:“xxx”的部分声明必须具有相同顺序的相同类型参数名称和方差修饰符
CS0851:使用'is'来测试与'dynamic'的兼容性与测试与'object'的兼容性基本相同,并且对所有非null值都是成功的
CS1114:嵌入式互操作类型'xxx'上的成员'yyy'在调试时无法评估,因为它从未在程序中引用。 在调试时,请考虑首先将源对象强制转换为“dynamic”,或者将“Embed Interop Types”属性设置为false
CS1543:添加模块'xxx'有未解析的类型'yyy'的引用
CS1544:添加了未添加的模块'yyy'引用模块'xxx'
CS1595:委托'xxx'有一些无效的参数
CS1735:忽略/ win32manifest for module,因为它仅适用于程序集
CS1736:无法将'xxx'转换为委托,因为块中的某些返回类型不能隐式转换为委托返回类型
CS1737:预期参数
CS1738:在指定了所有固定参数后,必须出现命名参数规范。 请使用语言版本7.2或更高版本以允许非尾随主要参数。
CS1739:/ appconfig给出的文件名太长或无效。 在Roslyn(C#v6)中重新使用:'M'的最佳重载没有名为'x'的参数。
CS1903:为'/ test'选项提供了无法识别的值'xxx'
CS1904:'xxx'不是有效的警告编号

CS0002:

无法从资源加载消息字符串

由。。。生产:

很可能是由于字符串表资源损坏或完全丢失cscui.dll所以它无法显示任何错误消息。 参考问题在这里

CS1669:

__arglist在此上下文中无效

由。。。生产:

delegate int Bar(__arglist);

更像Leppie的例子,可以在编译器字符串资源表中找到,并且可能是由未记录的关键字触发的:

CS0190:__ arglist构造仅在变量参数方法中有效
CS0224:使用vararg的方法不能是通用的,可以是泛型类型,也可以是参数数组
CS0257:__arglist参数必须是形式参数列表中的最后一个参数

CS1738:

在指定了所有固定参数后,必须出现命名参数规范。 请使用语言版本7.2或更高版本以允许非尾随主要参数。

由。。。生产

string str = GetNewString(isAllowed: isUserAllowed, str);

可能的解决方案:升级到C#7.2或更高版本

右键单击要升级的项目 - >属性 - >构建 - >高级 - >语言版本。

升级到C#的最新次要版本

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM