Tôi có một phương thức mở rộng, trả về một giá trị. Trong trường hợp này nên đặt một chút cụ thể trong một byte:Có thể nhận được cảnh báo nếu giá trị trả lại không được sử dụng không?
public static byte SetBit(this byte b, int bitNumber, bool value)
{
if (value)
{
return (byte)(b | (1 << bitNumber));
}
return (byte)(b & ~(1 << bitNumber));
}
Giá trị trả lại cần phải được gán cho một biến một lần nữa, bởi vì tôi không thể kết hợp this
và ref
:
byte myByte = 3;
myByte = myByte.SetBit(1, false);
Đó là dễ dàng quên việc chuyển nhượng một cách tình cờ. Ai đó có thể nghĩ, phương pháp thay đổi giá trị trực tiếp.
Đối với một số String.Replace
, Resharper?/VisualStudio? được cảnh báo tôi, rằng giá trị Return of phương pháp tinh khiết không được sử dụng:
Đây có phải là cũng có thể cho phương pháp của tôi một cách nào đó?
"Giá trị trả lại cần phải được gán cho một biến một lần nữa, bởi vì tôi không thể kết hợp điều này và ref" Really? Tôi chỉ cố gắng, và nó làm việc tốt ... –
'ref byte này b' sẽ không biên dịch cho tôi @KirkWoll –
Hoặc, viết một [Roslyn Analyzer] (https://github.com/dotnet/roslyn/wiki/ Cách-To-Write-aC% 23-Analyzer-and-Code-Fix) - đó là một cách tuyệt vời để thực thi các mẫu nhất định cho mã cơ sở của bạn. Bạn thậm chí có thể viết nó để nó được nhúng vào giải pháp của bạn - tuyệt vời cho các dự án cụ thể của công ty. –