У меня есть метод расширения, который возвращает значение. В этом случае следует установить определенный бит в байте:Можно ли получить предупреждение, если возвращаемое значение не используется?
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? предупреждает меня, что Возвращаемое значение чистого метода не используется:
ли это возможно для моего метода в некотором роде?
«Возвращаемое значение нужно снова присвоить переменной, потому что я не могу объединить это и ref« Действительно? Я просто попытался, и он отлично работал ... –
'ref this byte b' не будет компилироваться для меня @KirkWoll –
В качестве альтернативы напишите [Roslyn Analyzer] (https://github.com/dotnet/roslyn/wiki/ How-To-Write-aC% 23-Analyzer-and-Code-Fix) - это отличный способ обеспечить соблюдение определенных шаблонов для вашей кодовой базы. Вы даже можете написать его, чтобы он был встроен в ваше решение - отлично подходит для проектов, ориентированных на компанию. –