如果不使用返回值,是否可以收到警告?
我有一个扩展方法,它返回一个值。 在这种情况下,它应该在一个字节中设置一个特定的位:
public static byte SetBit(this byte b, int bitNumber, bool value) { if (value) { return (byte)(b | (1 << bitNumber)); } return (byte)(b & ~(1 << bitNumber)); }
返回的值需要再次分配给一个变量,因为我无法将this
和ref
结合起来:
byte myByte = 3; myByte = myByte.SetBit(1, false);
很容易忘记意外分配。 有人可以认为,该方法直接改变了价值。
对于String.Replace
,Resharper?/ VisualStudio? 警告我, 不使用纯方法的返回值 :
这在某种程度上对我的方法也有可能吗?
似乎有一个Nuhar Package for Resharper Annotations
这包括MustUseReturnValueAttribute
[MustUseReturnValue("Use the return value to...")] public byte Foo() { }
正如@Kirk Woll在评论中指出的那样,也可以编写一个自定义的Roslyn Analyzer
- C# – 使用SSL保护`套接字`
- System.Security.SecurityException:请求类型为’System.Security.Permissions.EnvironmentPermission,mscorlib’的权限失败
- 如何在多行文本框中不断滚动到文本末尾?
- 在c#中设置/扩展List 长度
- EF(entity framework)使用“使用”语句
- 需要将文本添加到矩形
- 拦截Azurefunction主机关闭:刷新应用程序洞察TelemetryClient
- C#Email Regular Expression – 符合RFC 2822指南的任何内容吗?
- 为RESTful WCF配置SSL绑定。 怎么样?