关于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)
{
}
编译器错误 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)
{
}
相关文章推荐
- 关于C#2.0编译器的一个瘕疵
- 关于C#操作PPT时遇到的“对COM组件的调用返回了错误HRESULT E_FAIL”错误的解决方法
- C#中关于new关键字带来的无限递归错误
- 关于在VS2005中,打开画面设计界面发生非预期错误的解决方法
- 关于VS2005中C#代码用F12转到定义时,总是显示从元数据的问题
- 关于vs编译器Lnk2005错误的随感
- 关于c#调用c编译器
- 新版C#编译器关于函数闭包
- 新版C#编译器关于函数闭包的一处更改
- 关于Matlab找不到vs2008或vs2005编译器的解决办法
- [转载]关于"编译器失败,错误代码为128。"的解决方案
- 关于ASP出现Microsoft VBScript 编译器错误 错误 '800a03f6'等错误
- 关于VS2005中C#代码用F12转到定义时,总是显示从元数据的问题题
- VS2005 中关于“LC.EXE已退出,代码为 -1”的错误解决方法。
- ASP.NET&C#学习笔录3(关于vs2005、vs2008和vs2010项目互转的总结 )
- 关于vs2005连接SQL数据库时用户登陆错误的解决方法
- 关于.NET界面显示错误的咨询(C#语言编写、jmail收发邮件)
- Vs2005编译器错误
- 关于 Guid类型在数据库可为null,而C#中Guid不能为空,造成指定转换无效的错误
- 关于vs2005 __RPC__out __RPC__in 没有定义编译错误