您的位置:首页 > 编程语言 > C#

关于C#编译器错误CS0685(VS2005)

2007-05-25 22:38 309 查看
今天CSDN中有人发现Duwamish7(C#)升级到VS2005后,SystemFramework编译通不过了,尝试了一下果然报错:
编译器错误 CS0685

错误消息
条件成员“member”不能有 out 参数

在方法上使用 ConditionalAttribute 属性时,该方法不能有 out 参数。这是因为,如果方法调用编译为 nothing,则不会定义用于 out 参数的变量的值。若要避免此错误,请将 out 参数从条件方法声明中移除,或者不使用条件属性。
http://msdn2.microsoft.com/zh-cn/library/kykzee2e(vs.80).aspx

看来,确实不能为具有out 参数的方法,使用 ConditionAttribute 属性。但是,不知道,VS2003如何能编译通过,没有 03 环境也无法验证了。

update 2007年5月26日 在 1.x 下重新测试一下,确实可以编译通过!
懒得装VS2003,就装了个 .net framework 1.1,命令行中调用 csc,编译如下代码:

class ConditionalAttributeTest

[ConditionalAttribute("DEBUG")]
private static void GenerateStackTrace2(int lineNumber, ref String currentTrace)
{

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: