विजुअल स्टूडियो में हम गेटवे और सेटर कैसे उत्पन्न कर सकते हैं?


226

"जनरेट" करके, मेरा मतलब है कि किसी विशेष चयनित (सेट) चर के लिए आवश्यक कोड की ऑटो-पीढ़ी।

लेकिन अच्छे अभ्यास पर किसी भी अधिक स्पष्ट अन्वेषण या टिप्पणी का स्वागत है।

जवाबों:


297

Ctrl+ का उपयोग करने के बजाय K, Xआप केवल टाइप कर सकते हैं propऔर फिर Tabदो बार हिट कर सकते हैं ।


70
और "प्रचार" + टैब को मत भूलना जो समान उत्पन्न करता है, लेकिन एक निजी सेटर के साथ।
एंड्रयू एम

विजुअल C # में अधिक उपयोगी कोड स्निपेट के लिए msdn.microsoft.com/en-us/library/z41h7fat.aspx देखें
टाइटस

51

विजुअल स्टूडियो में एक सुविधा भी है जो एक निजी चर से एक संपत्ति उत्पन्न करेगी।

यदि आप एक चरों पर राइट-क्लिक करते हैं, तो संदर्भ मेनू में, जो पॉप-अप होता है, "रिफ़ेक्टर" आइटम पर क्लिक करें, और उसके बाद Encapsulate Field ... चुनें । यह एक चर के लिए एक गेट्टर / सेटर संपत्ति बनाएगा।

मैं इस तकनीक का बहुत बड़ा प्रशंसक नहीं हूं क्योंकि यह उपयोग करने के लिए थोड़ा अजीब है अगर आपको बहुत सारे गेटर्स / सेटर बनाने हैं, और यह सीधे निजी क्षेत्र के नीचे संपत्ति डालता है, जो मुझे परेशान करता है, क्योंकि मैं आमतौर पर मेरे सभी निजी क्षेत्रों को एक साथ समूहीकृत किया गया है, और यह विज़ुअल स्टूडियो फीचर मेरी कक्षा के प्रारूपण को तोड़ता है।


10
दुर्भाग्य से, यह विकल्प विजुअल स्टूडियो के एक्सप्रेस संस्करणों द्वारा नहीं दिया गया है।
टॉबी

12
वहाँ भी shourtcut है - मैं इस तरह से पीड़ित हूं :) - CTRL + R + E
Vukasin

32

मैं विजुअल स्टूडियो 2013 प्रोफेशनल का उपयोग करता हूं।

  • अपने कर्सर को एक इंस्टेंस वेरिएबल की लाइन पर रखें।

    यहां छवि विवरण दर्ज करें

  • गठबंधन कुंजियाँ Ctrl+ R, Ctrl+ दबाएँ E, या सही माउस बटन पर क्लिक करें। संदर्भ मेनू का चयन करें रिफ्लेक्टरफ़ील्ड को एनकैप्सुलेट करें ... और फिर दबाएं OK

    यहां छवि विवरण दर्ज करें

  • में Encapsulate फील्ड - पूर्वावलोकन संदर्भ परिवर्तन संवाद, प्रेस बटन Apply

    यहां छवि विवरण दर्ज करें

  • यह परिणाम है:

    यहां छवि विवरण दर्ज करें



आप संपत्ति चुनने के लिए कर्सर भी रखते हैं । मेनू का उपयोग करें संपादित करेंरिफ्लेक्टरएनकैप्सुलेट फ़ील्ड ...


30

जेनरेट करने से क्या आपका मतलब ऑटो-जेनरेट से है? यदि आपका मतलब यह नहीं है:

विजुअल स्टूडियो 2008 में इसके लिए सबसे आसान कार्यान्वयन है:

public PropertyType PropertyName { get; set; }

पृष्ठभूमि में यह एक निहित उदाहरण चर बनाता है जिससे आपकी संपत्ति संग्रहीत और पुनर्प्राप्त की जाती है।

हालाँकि यदि आप अपने गुणों में अधिक तर्क रखना चाहते हैं, तो आपको इसके लिए एक उदाहरण चर देना होगा:

private PropertyType _property;

public PropertyType PropertyName
{
    get
    {
        //logic here 
        return _property;
    }
    set
    {
        //logic here
        _property = value;
    }
 }

विजुअल स्टूडियो के पिछले संस्करणों ने हमेशा इस लॉन्गहैंड विधि का उपयोग किया।


क्या property_पहले के बजाय सदस्य नाम के बाद C # में मानक निम्न डैश नहीं है _property?
जूलेन

2
@ जुलेन - मैंने हमेशा _प्रवेशन सम्मेलन देखा है।
नाथन डेविट 3

27

आप "प्रोफ़ुल" का भी उपयोग कर सकते हैं और TABदो बार हिट कर सकते हैं ।

प्राप्त और सेट के साथ चर और संपत्ति उत्पन्न होगी।


यह अधिक उपयोगी है और मैं हमेशा इसे भूल जाता हूं
डेव अल्परोविच

मैं एक्सएमएल सीरियलाइजेशन कर रहा हूं और पूरे शो में एक टन प्रॉपर्टी पैदा कर रहा हूं। अगर मैं कर सकता हूं तो 100 सेप्टिलियन अपवोट। धन्यवाद! संपादित करें- ईवन बेहतर, ऑटोहॉट्की स्क्रिप्ट + ^ यह = उत्पादकता 90000 से अधिक!
Eon


6

यदि आप Visual Studio 2005 और ऊपर का उपयोग कर रहे हैं, तो आप सम्मिलित स्निपेट कमांड का उपयोग करके एक सेटर / गेट्टर वास्तविक तेजी से बना सकते हैं।

ठीक है, अपने कोड पर क्लिक करें पर क्लिक करें स्निपेट डाल दें ( Ctrl+ K, X), और फिर सूची से "प्रोप" चुनें।


4

यदि आप ReSharper का उपयोग कर रहे हैं, तो ReSharper मेनू में जाएं → कोडउत्पन्न करें ...

(या मारा Alt+ Insआसपास के वर्ग के अंदर), और आप ही टिककर खेल और / या setters आप सोच सकते हैं पैदा करने के लिए सभी विकल्प मिल जाएगा :-)


3

propfullकीवर्ड का उपयोग करें ।

यह एक संपत्ति और एक चर उत्पन्न करेगा।

propfullएडिटर में कीवर्ड टाइप करें , उसके बाद दो TABएस। यह कोड उत्पन्न करेगा:

private data_type var_name;

public data_type var_name1{ get;set;}

4 मिनट 11 सेकेंड पर वीडियो स्निपेट 'प्रोपफुल' (अन्य चीजों के अलावा) के उपयोग को प्रदर्शित करता है


2
कृपया अपने उत्तर के बारे में अधिक जानकारी प्रदान करें, संक्षिप्त विवरण के साथ उत्तर अगले आगंतुकों के लिए ठीक नहीं है ...
कियाराश

एडिटर में कीवर्ड प्रॉपुल टाइप करें यह निजी डेटा_टाइप var_name जैसा कोड उत्पन्न करेगा; public data_type var_name1 {get; set?}
avinash kadu

क्या आप "प्रोफ़ुल" के लिए एक संदर्भ जोड़ सकते हैं ( अपना उत्तर संपादित करके , टिप्पणियों में यहां नहीं)?
पीटर मोर्टेंसन

3

मैंने अपना स्निपेट बनाया जो केवल जोड़ता है {get; set;}। मैंने इसे सिर्फ इसलिए बनाया क्योंकि मुझे लगता है कि propTabक्लूनी होना।

<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets
    xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
    <CodeSnippet Format="1.0.0">
        <Header>
            <Title>get set</Title>
            <Shortcut>get</Shortcut>
        </Header>
        <Snippet>
            <Code Language="CSharp">
                <![CDATA[{get; set;}]]>
            </Code>
        </Snippet>
    </CodeSnippet>
</CodeSnippets>

इसके साथ, आप अपने PropType और PropName को मैन्युअल रूप से टाइप करें, फिर get→ टाइप करें Tab, और यह गेट सेट को जोड़ देगा। यह कुछ भी जादुई नहीं है, लेकिन जब से मैं अपने एक्सेस संशोधक को पहले टाइप करता हूं, तब तक मैं नाम और प्रकार को समाप्त कर सकता हूं।


2

विजुअल स्टूडियो कम्युनिटी एडिशन 2015 में आप अपने इच्छित सभी क्षेत्रों का चयन कर सकते हैं और फिर संपत्तियों को स्वचालित रूप से उत्पन्न करने के लिए Ctrl+ दबा सकते .हैं।

आपको चुनना होगा कि आप क्षेत्र के बजाय संपत्ति का उपयोग करना चाहते हैं या नहीं।


1

'प्रोप' स्निपेट और ऑटो-प्रॉपर्टी के अलावा, आपको एक मौजूदा क्षेत्र का चयन करने और इसे एक संपत्ति के माध्यम से उजागर करने का विकल्प है ( क्षेत्र पर सही क्लिक करें → रिफ्लेक्टरएनकैप्सुलेट फ़ील्ड ... )।

इसके अलावा, यदि आपको 'प्रोप' कार्यान्वयन पसंद नहीं है, तो आप अपने स्वयं के स्निपेट बना सकते हैं। इसके अतिरिक्त, ReSharper जैसा एक तृतीय-पक्ष रीफ़ैक्टरिंग उपकरण आपको और भी अधिक सुविधाएँ देगा और अधिक उन्नत स्निपेट बनाना आसान बना देगा। यदि आप इसे वहन कर सकते हैं तो मैं ReSharper की सलाह दूंगा।


पहला लिंक Visual Studio 2005 सेवानिवृत्त प्रलेखन के लिए पुनर्निर्देशित करता है । में से कौन सा दस पर गौर किया? संभवतः, यह एक विवरण है कि विज़ुअल स्टूडियो में स्निपेट का उपयोग कैसे किया जाए।
पीटर मोर्टेंसन

1

विजुअल स्टूडियो 2019 में, अपने गुणों को इस तरह चुनें:

यहां छवि विवरण दर्ज करें

फिर दबाएं Ctrl+r फिर दबाएंCtrl+e

एक संवाद आपको उन परिवर्तनों का पूर्वावलोकन दिखाएगा जो आपके कोड में होने जा रहे हैं। यदि सब कुछ अच्छा लग रहा है (जो कि ज्यादातर होगा), दबाएं OK


0

मेरे पास अब मेरी मशीन पर विज़ुअल स्टूडियो स्थापित नहीं है (और मैं लिनक्स का उपयोग कर रहा हूं), लेकिन मुझे याद है कि एक मेनू के अंदर एक जादूगर छिपा था जिसने एक क्लास बिल्डर को एक्सेस दिया था।

इस विज़ार्ड के साथ, आप अपने सभी वर्गों के विवरणों को परिभाषित कर सकते हैं, जिसमें विधियाँ और विशेषताएँ भी शामिल हैं। अगर मुझे अच्छी तरह से याद है, तो एक विकल्प था, जिसके माध्यम से आप विजुअल स्टूडियो से अपने लिए बसने और गेटर्स बनाने के लिए कह सकते थे।

मुझे पता है कि यह काफी अस्पष्ट है, लेकिन इसकी जाँच करें और आप इसे पा सकते हैं।



0

सबसे पहले एक्सटेंशन को प्रेस करें ( Ctrl+ Shift+ X) और गेट्टर सेटर को स्थापित करें ...।

इसके बाद, बस अपने वेरिएबल को चुनें और राइट क्लिक करें। कमांड पैलेट पर जाएं ...

और getter टाइप करें ... यह सुझाव देगा कि get get and सेट मेथड्स। इस पर क्लिक करें ...


1
"फर्स्ट गेट एक्सटेंशन" से आपका क्या अभिप्राय है ?
पीटर मोर्टेंसन

Ctrl + Shift + X को किस संदर्भ में दबाया जाना चाहिए?
पीटर मोर्टेंसन

-4

आप बस एंड्रॉइड स्टूडियो में Alt+ दबाएं Ins

चर घोषित करने के बाद, आप जनरेट किए गए कोड में गेटर्स और सेटर प्राप्त करेंगे।


किसी ने भी एंड्रॉइड स्टूडियो के बारे में नहीं पूछा
warzone_fz

सवाल यह है कि हम विज़ुअल स्टूडियो में गेटर्स और सेटर कैसे उत्पन्न कर सकते हैं? Visual Studio Android Studio के समान नहीं है ।
पीटर मोर्टेंसन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.