मेरे पास एक विस्तार विधि है, जो एक मूल्य देता है। ,यदि वापसी मूल्य का उपयोग नहीं किया जाता है तो क्या चेतावनी प्राप्त करना संभव है?
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 के लिए? मुझे चेतावनी है, कि शुद्ध विधि के वापसी मान नहीं किया जाता है:
यह भी किसी तरह से मेरी विधि के लिए संभव है?
लिखने के लिए Resharper Annotations
एक Nuget पैकेज हो रहा है "लौटाया गया मूल्य फिर से एक चर को आवंटित करने की आवश्यकता है, क्योंकि मैं इसे गठबंधन नहीं कर सकता और रेफरी कर सकता हूं" वास्तव में? मैंने अभी कोशिश की, और यह ठीक काम किया ... –
'इस बाइट बी' को रेफरी करें मेरे लिए संकलित नहीं होगा @ किर्कवॉल –
वैकल्पिक रूप से, एक [Roslyn विश्लेषक] लिखें (https://github.com/dotnet/roslyn/wiki/ कैसे-लिखने-एसी% 23-विश्लेषक-और-कोड-फिक्स) - यह आपके कोड-बेस के लिए कुछ पैटर्न लागू करने का एक शानदार तरीका है। आप इसे भी लिख सकते हैं ताकि यह आपके समाधान में एम्बेड हो - कंपनी-विशिष्ट परियोजनाओं के लिए बढ़िया। –