আমরা কীভাবে ভিজুয়াল স্টুডিওতে গেটার এবং সেটটার তৈরি করতে পারি?


226

"জেনারেট" দ্বারা, আমি একটি নির্দিষ্ট নির্বাচিত (সেট) ভেরিয়েবল (গুলি) এর জন্য প্রয়োজনীয় কোডটির স্বয়ংক্রিয় জেনারেশন।

তবে ভাল অনুশীলনের উপর আর কোনও স্পষ্ট ব্যাখ্যা বা মন্তব্য স্বাগত।

উত্তর:


297

Ctrl+ ব্যবহার করার পরিবর্তে K, Xআপনি কেবল টাইপ করতে পারেন propএবং তারপরে Tabদুবার হিট করতে পারেন ।


70
এবং "প্রোগ" + ট্যাবটি ভুলে যাবেন না যা একই উত্পন্ন করে তবে একটি ব্যক্তিগত সেটারের সাথে।
অ্যান্ড্রু এম

দেখুন msdn.microsoft.com/en-us/library/z41h7fat.aspx ভিসুয়াল C # আরো উপযোগী কোড স্নিপেট জন্য
তিতাস

51

ভিজ্যুয়াল স্টুডিওতে একটি বৈশিষ্ট্যও রয়েছে যা একটি ব্যক্তিগত ভেরিয়েবল থেকে সম্পত্তি উত্পন্ন করবে।

আপনি যদি একটি পরিবর্তনশীল ডান-ক্লিক করেন, কনটেক্সট মেনু যে পপ আপ এ, "Refactor" আইটেমের উপর ক্লিক করুন, এবং তারপর চয়ন encapsulate ফিল্ড ... । এটি একটি ভেরিয়েবলের জন্য গিটার / সেটার সম্পত্তি তৈরি করবে।

আমি এই কৌশলটির খুব বেশি অনুরাগী নই কারণ আপনাকে প্রচুর গেটার / সেটটার তৈরি করতে হয় যদি তা ব্যবহার করা একটু বিশ্রী হয় এবং এটি সম্পত্তিটি সরাসরি ব্যক্তিগত ক্ষেত্রের নীচে রাখে, যা আমাকে বাগ দেয়, কারণ আমি সাধারণত আমার সমস্ত ব্যক্তিগত ক্ষেত্র একসাথে গোষ্ঠীভূত করেছে এবং এই ভিজ্যুয়াল স্টুডিও বৈশিষ্ট্যটি আমার শ্রেণীর বিন্যাসকে ভেঙে দেয়।


10
দুর্ভাগ্যক্রমে, এই বিকল্পটি ভিজ্যুয়াল স্টুডিওর এক্সপ্রেস সংস্করণগুলি দিয়ে দেয় না।
টবি

12
শর্টকুটও রয়েছে - আমি এইভাবে প্রিফার করছি :) - সিটিআরএল + আর + ই
ভুকাসিন

32

আমি ভিজ্যুয়াল স্টুডিও 2013 পেশাদার ব্যবহার করি।

  • আপনার কার্সারটিকে একটি উদাহরণ ভেরিয়েবলের লাইনে রাখুন।

    এখানে চিত্র বিবরণ লিখুন

  • প্রেস কী মেশা Ctrl+ + R, Ctrl+ + E, বা ডান মাউস বাটন ক্লিক করুন। প্রসঙ্গ মেনু নির্বাচন করুন Refactorencapsulate ফিল্ড ... , এবং তারপর প্রেস OK

    এখানে চিত্র বিবরণ লিখুন

  • ইন encapsulate ফিল্ড - পূর্বরূপ রেফারেন্স পরিবর্তনসমূহ সংলাপটি প্রেস বাটন Apply

    এখানে চিত্র বিবরণ লিখুন

  • এটি ফলাফল:

    এখানে চিত্র বিবরণ লিখুন



সম্পত্তি বেছে নেওয়ার জন্য আপনি কার্সারটিও রেখে দেন । মেনুটি সম্পাদনা করুনরিফ্যাক্টরএনক্যাপসুলেট ফিল্ডটি ব্যবহার করুন ...


30

জেনারেট করে, আপনি কি স্বয়ংক্রিয় জেনারেট করতে চান? যদি আপনি যা বলতে চান তা যদি না হয়:

এর জন্য ভিজ্যুয়াল স্টুডিও ২০০৮ এর সবচেয়ে সহজ প্রয়োগ রয়েছে:

public PropertyType PropertyName { get; set; }

পটভূমিতে এটি একটি অন্তর্নিহিত উদাহরণ পরিবর্তনশীল তৈরি করে যার সাথে আপনার সম্পত্তি সঞ্চিত এবং পুনরুদ্ধার করা হয়েছে।

তবে আপনি যদি আপনার সম্পত্তিগুলিতে আরও যুক্তি যুক্ত করতে চান তবে আপনার এটির জন্য উদাহরণের পরিবর্তনশীল থাকতে হবে:

private PropertyType _property;

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

ভিজ্যুয়াল স্টুডিওর পূর্ববর্তী সংস্করণগুলি সর্বদা এই লংহ্যান্ড পদ্ধতিটি ব্যবহার করে।


সি # এর মানটি কি আগেরটির property_পরিবর্তে সদস্যের নামের পরে নিম্ন ড্যাশ নয় _property?
জুলেন

2
@ জুলেন - আমি সর্বদা _ প্রপার্টি কনভেনশন দেখেছি।
নাথান ডিউইট

27

আপনি "প্রফুল" ব্যবহার করতে পারেন এবং TABদুবার হিট করতে পারেন ।

গেট অ্যান্ড সেট সহ চলক এবং সম্পত্তি উত্পন্ন হবে।


এটিই আরও কার্যকর এবং আমি সর্বদা এটি ভুলে যাই
ডেভ আল্পেরোভিচ

আমি এক্সএমএল সিরিয়ালাইজেশন করছি এবং পুরো শো জুড়ে এক টন বৈশিষ্ট্য তৈরি করছি। + 100septillion upvotes if আমি পারতাম। ধন্যবাদ! সম্পাদনা করুন- আরও ভাল, অটোহোটকি স্ক্রিপ্ট + ^ এটি = 90000 এরও বেশি উত্পাদনশীলতা!
ইয়োন

ভিডিওটি 4 মিনিট 11 সেকেন্ডে স্নিপেট 'প্রপুল' (অন্যান্য জিনিসগুলির মধ্যে) ব্যবহারের প্রদর্শন করছে
পিটার মর্টেনসেন

6

আপনি যদি ভিজ্যুয়াল স্টুডিও 2005 এবং তার বেশি ব্যবহার করে থাকেন তবে আপনি সন্নিবেশ স্নিপেট কমান্ডটি ব্যবহার করে একটি সেটর / গেটর রিয়েল দ্রুত তৈরি করতে পারেন।

আপনার কোডটিতে ডান ক্লিক করুন, সন্নিবেশ স্নিপেটে ক্লিক করুন ( Ctrl+ K, X) এবং তারপরে তালিকা থেকে "প্রোপ" চয়ন করুন।


4

আপনি যদি রিশ্যার্পার ব্যবহার করে থাকেন তবে পুনঃভাগের মেনুতে যান → কোডউত্পন্ন করুন ...

(বা পার্শ্ববর্তী শ্রেণীর অভ্যন্তরে Alt+ চাপুন Ins), এবং আপনি গেটার এবং / অথবা সেটারগুলি তৈরির জন্য সমস্ত বিকল্প পাবেন: যা আপনি ভাবেন :-)


3

propfullকীওয়ার্ডটি ব্যবহার করুন ।

এটি একটি সম্পত্তি এবং একটি পরিবর্তনশীল তৈরি করবে।

propfullসম্পাদকটিতে কীওয়ার্ড টাইপ করুন , তারপরে দুটি TABএস। এটি এর মতো কোড উত্পন্ন করবে:

private data_type var_name;

public data_type var_name1{ get;set;}

ভিডিওটি 4 মিনিট 11 সেকেন্ডে স্নিপেট 'প্রপুল' (অন্যান্য জিনিসগুলির মধ্যে) ব্যবহারের প্রদর্শন করছে


2
দয়া করে আপনার উত্তর সম্পর্কে আরও তথ্য সরবরাহ করুন, সংক্ষিপ্ত বিবরণ সহ উত্তরগুলি পরবর্তী দর্শকদের জন্য ঠিক নয় ...
কিয়ারাশ

সম্পাদকে কীওয়ার্ড প্রফুল টাইপ করুন এটি ব্যক্তিগত ডেটা টাইপ বৈকল্পিকের মত কোড উত্পন্ন করবে; পাবলিক ডেটা টাইপ var_name1 {get; set;}
অবিনাশ কদু

আপনি কি "প্রপুল" এর জন্য একটি রেফারেন্স যুক্ত করতে পারেন ( আপনার উত্তর সম্পাদনা করে , মন্তব্যগুলিতে এখানে নয়)?
পিটার মর্টেনসেন

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 টাইপ করুন, তারপর টাইপ করুন getTab, এবং এটি সেট যোগ করা হবে। এটি যাদুকর কিছুই নয়, তবে যেহেতু আমি আমার অ্যাক্সেস মডিফায়ারটিকে প্রথমে টাইপ করার ঝোঁক রাখি, তাই আমি নাম এবং টাইপটিও শেষ করতে পারি।


2

ভিজ্যুয়াল স্টুডিও সম্প্রদায় সংস্করণ 2015 এ আপনি নিজের পছন্দ মতো সমস্ত ক্ষেত্র নির্বাচন করতে পারেন এবং তারপরে বৈশিষ্ট্যগুলি স্বয়ংক্রিয়ভাবে উত্পাদন করতে Ctrl+ টিপুন .

আপনি ক্ষেত্রের পরিবর্তে সম্পত্তিটি ব্যবহার করতে চান কিনা তা আপনাকে বেছে নিতে হবে।


1

'প্রোপ' স্নিপেট এবং অটো-বৈশিষ্ট্যগুলি ছাড়াও, আপনাকে একটি বিদ্যমান ক্ষেত্রটি নির্বাচন করতে এবং কোনও সম্পত্তির মাধ্যমে এটি প্রকাশ করতে দেওয়ার জন্য একটি রিফ্যাক্টর বিকল্প রয়েছে ( ক্ষেত্রটিতে ডান ক্লিক করুন → রিফ্যাক্টরএনক্যাপসুলেট ফিল্ড ... )।

এছাড়াও, আপনি যদি 'প্রোপ' বাস্তবায়ন পছন্দ না করেন তবে আপনি নিজের স্নিপেট তৈরি করতে পারেন। অতিরিক্তভাবে, রিশ্যার্পারের মতো একটি তৃতীয় পক্ষের রিফ্যাক্টরিং সরঞ্জাম আপনাকে আরও বেশি বৈশিষ্ট্য দেবে এবং আরও উন্নত স্নিপেট তৈরি করা আরও সহজ করে দেবে। আপনি যদি সামর্থ্য করতে পারেন তবে আমি রিসার্পারের পরামর্শ দেব।


প্রথম লিঙ্কটি ভিজ্যুয়াল স্টুডিও 2005 অবসরপ্রাপ্ত ডকুমেন্টেশনে পুনঃনির্দেশ করে । দশজনের মধ্যে কোনটিকে এটি উল্লেখ করেছে? সম্ভবত, এটি ভিজ্যুয়াল স্টুডিওতে স্নিপেটগুলি কীভাবে ব্যবহার করবেন তার একটি বিবরণ।
পিটার মর্টেনসেন

1

ভিজ্যুয়াল স্টুডিও 2019 এ, আপনার সম্পত্তিগুলি এটির মতো নির্বাচন করুন:

এখানে চিত্র বর্ণনা লিখুন

তারপরে চাপুন Ctrl+r তারপরে টিপুনCtrl+e

একটি ডায়ালগ প্রদর্শিত হবে যা আপনাকে আপনার কোডগুলিতে করা পরিবর্তনগুলির পূর্বরূপ দেখায়। যদি সবকিছু দেখতে ভাল লাগে (যা বেশিরভাগ ক্ষেত্রে এটি হয়ে থাকে), টিপুন OK


0

আমার মেশিনে আমার আর ভিজ্যুয়াল স্টুডিও ইনস্টল নেই (এবং আমি লিনাক্স ব্যবহার করছি) তবে আমার মনে আছে যে মেনুগুলির মধ্যে কোনও একটি উইজার্ড লুকিয়ে ছিল যা ক্লাস নির্মাতাকে অ্যাক্সেস দিয়েছিল।

এই উইজার্ডের সাহায্যে আপনি আপনার ক্লাসের সমস্ত বিবরণ, পদ্ধতি এবং বৈশিষ্ট্যগুলি সংজ্ঞায়িত করতে পারেন। যদি আমি ভাল করে মনে রাখি তবে একটি বিকল্প ছিল যার মাধ্যমে আপনি ভিজ্যুয়াল স্টুডিওকে আপনার জন্য স্বয়ংক্রিয়ভাবে সেটার এবং গেটারগুলি তৈরি করতে বলতে পারেন।

আমি জানি এটি বেশ অস্পষ্ট, তবে এটি পরীক্ষা করে দেখুন এবং আপনি এটি খুঁজে পেতে পারেন।



0

প্রথমে এক্সটেনশনটি পান ( Ctrl+ Shift+ X) চাপুন এবং গেটর সেটার ইনস্টল করুন ....

এর পরে, কেবল আপনার পরিবর্তনশীল এবং ডান ক্লিক নির্বাচন করুন। কমান্ড প্যালেটে যান ...

এবং গিটারটি টাইপ করুন ... এটি গেট এবং সেট পদ্ধতি নির্ধারণের পরামর্শ দেয়। এটি ক্লিক করুন ...


1
"প্রথমে এক্সটেনশন পান" বলতে কী বোঝ ?
পিটার মর্টেনসেন

কোন প্রসঙ্গে Ctrl + Shift + X টিপতে হবে?
পিটার মর্টেনসেন

-4

আপনি কেবল অ্যান্ড্রয়েড স্টুডিওতে Alt+ চাপুন Ins

ভেরিয়েবলগুলি ঘোষণার পরে, আপনি উত্পন্ন কোডে গেটস এবং সেটারগুলি পাবেন।


অ্যান্ড্রয়েড স্টুডিও সম্পর্কে কেউ জিজ্ঞাসা
করেনি

প্রশ্নটি "কীভাবে আমরা ভিজ্যুয়াল স্টুডিওতে গেটার এবং সেটটার তৈরি করতে পারি?" ভিজ্যুয়াল স্টুডিও অ্যান্ড্রয়েড স্টুডিওর মতো নয় ।
পিটার মর্টেনসেন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.