Visual Studio'da alıcıları ve ayarlayıcıları nasıl oluşturabiliriz?


226

"Oluştur" ile belirli bir değişken (küme) değişkeni (değişkenleri) için gerekli kodun otomatik olarak üretilmesi anlamına gelir.

Ancak, iyi uygulama hakkında daha açık bir açıklama veya yorum kabul edilir.

Yanıtlar:



51

Visual Studio'da ayrıca özel bir değişkenten bir Özellik oluşturacak bir özellik vardır.

Bir değişkeni sağ tıklarsanız, açılan bağlam menüsünde "Refactor" öğesini tıklatın ve ardından Alanı Encapsulate ... seçeneğini belirleyin . Bu, bir değişken için bir alıcı / ayarlayıcı özelliği oluşturur.

Çok fazla alıcı / ayarlayıcı oluşturmak zorundaysanız kullanmak biraz garip olduğu için bu tekniğin çok büyük bir hayranı değilim ve özelliği doğrudan beni rahatsız eden özel alanın altına koyar, çünkü genellikle tüm özel alanlarım birlikte gruplandırılır ve bu Visual Studio özelliği sınıfımın biçimlendirmesini bozar.


10
Ne yazık ki, bu seçenek Visual Studio'nun ifade sürümleri tarafından verilmez.
Toby

12
orada da shourtcut - Ben bu şekilde tercih :) - CTRL + R + E
Vukasin

32

Visual Studio 2013 Professional kullanıyorum.

  • İmlecinizi bir örnek değişkeni satırının üzerine getirin.

    Resim açıklamasını buraya girin

  • Ctrl+ R, Ctrl+ Tuşlarına basın Eveya farenin sağ düğmesine tıklayın. Bağlam menüsü RefactorAlanı Encapsulate ... öğesini seçin ve ardından düğmesine basın OK.

    Resim açıklamasını buraya girin

  • In Kapsüllemek Alanı - Önizleme Referans Değişiklikler iletişim, basın düğmesi Apply.

    Resim açıklamasını buraya girin

  • Bu sonuç:

    Resim açıklamasını buraya girin



Ayrıca bir özellik seçmek için imleci de yerleştirirsiniz . DüzenleRefactorAlanı Kapsül menüsünü kullanın ...


30

Oluştur ile, otomatik oluşturmayı mı kastediyorsunuz? Demek istediğin bu değilse:

Visual Studio 2008 bunun için en kolay uygulamaya sahiptir:

public PropertyType PropertyName { get; set; }

Arka planda bu, mülkünüzün saklandığı ve alındığı zımni bir örnek değişkeni oluşturur.

Ancak, Mülklerinize daha fazla mantık eklemek istiyorsanız, bunun için bir örnek değişkenine sahip olmanız gerekir:

private PropertyType _property;

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

Visual Studio'nun önceki sürümleri her zaman bu longhand yöntemini de kullandı.


C # 'daki standart, daha property_önce değil üye adından sonra alt çizgi değil _propertymi?
Julen

2
@Julen - Her zaman _property kuralını gördüm.
Nathan DeWitt

27

Ayrıca "propfull" kullanabilir ve TABiki kez vurabilirsiniz .

Get ve set özellikli değişken ve özellik oluşturulur.


bu daha kullanışlı olanı ve her zaman unutuyorum
Dave Alperovich

XML serileştirme yapıyorum ve tüm gösteri boyunca bir ton özellik yumurtlama. Yapabilirsem + 100septillion upvotes. Edit- EVET BETTER, autohotkey script + ^ this = 90000 üzerinde verimlilik!
Eon

Snippet 'propfull' (diğer şeylerin yanı sıra) kullanımını 4 dakika 11 saniyede gösteren video.
Peter Mortensen

6

Visual Studio 2005 ve sonraki sürümlerini kullanıyorsanız, snippet ekle komutunu kullanarak gerçek bir hızlı ayarlayıcı / alıcı oluşturabilirsiniz.

Kodunuzu sağ tıklayın, Snippet Ekle'yi ( Ctrl+ K, X) tıklayın ve ardından listeden "prop" i seçin.


4

ReSharper kullanıyorsanız, ReSharper menüsü → KodOluştur ... seçeneğine gidin .

(Ya da çevredeki sınıfın içinde Alt+ Insdüğmesine basın) ve düşünebileceğiniz alıcılar ve / veya ayarlayıcılar oluşturmak için tüm seçenekleri alırsınız :-)


3

propfullAnahtar kelimeyi kullanın .

Bir özellik ve değişken oluşturur.

propfullEditörde anahtar kelime yazın ve ardından iki TABsaniye yazın. Aşağıdaki gibi kod üretecektir:

private data_type var_name;

public data_type var_name1{ get;set;}

Snippet 'propfull' (diğer şeylerin yanı sıra) kullanımını 4 dakika 11 saniyede gösteren video.


2
lütfen cevabınız hakkında daha fazla bilgi verin, kısa açıklama ile cevaplar gelecek ziyaretçiler için uygun değil ...
Kiyarash

editörde propfull anahtar sözcüğünü yazın özel data_type var_name gibi kod üretecektir; public data_type var_name1 {get; set;}
avinash kadu

"Propfull" için bir referans ekleyebilir misiniz ( cevabınızı düzenleyerek , burada yorumları değil)?
Peter Mortensen

3

Sadece ekleyen kendi snippet'imi oluşturdum {get; set;}. Ben bulmak sırf ben yaptım propTabaksak olmak.

<?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>

Bununla, PropType ve PropName öğelerinizi el ile yazın, sonra get→ yazın Tabve get setini ekleyecektir. Büyülü bir şey değil, ama yine de erişim değiştiricimi ilk önce yazma eğiliminde olduğum için, adı ve türü de bitirebilirim.


2

Visual Studio Community Edition 2015'te istediğiniz tüm alanları seçebilir ve ardından özellikleri otomatik olarak oluşturmak için Ctrl+ tuşuna basabilirsiniz ..

Özelliği alan yerine kullanmak isteyip istemediğinizi seçmeniz gerekir.


1

'Prop' snippet'ine ve otomatik özelliklere ek olarak, mevcut bir alanı seçip bir özellik aracılığıyla göstermenize olanak tanıyan bir refactor seçeneği vardır ( alana sağ tıklayın → RefactorEncapsulate Field ... ).

Ayrıca, 'prop' uygulamasını beğenmezseniz, kendi snippet'lerinizi oluşturabilirsiniz. Ayrıca, ReSharper gibi üçüncü taraf bir yeniden düzenleme aracı size daha da fazla özellik sunacak ve daha gelişmiş snippet'ler oluşturmayı kolaylaştıracaktır. Ödeyebileceğinizden ReSharper'ı tavsiye ederim.


İlk bağlantı Visual Studio 2005 Retired belgelerine yönlendirir . Hangisi on o başvurmak mı? Muhtemelen, Visual Studio'da parçacıkların nasıl kullanılacağına dair bir açıklamadır.
Peter Mortensen

1

Visual Studio 2019'da, özelliklerinizi şu şekilde seçin:

resim açıklamasını buraya girin

Sonra tuşuna basın Ctrl+r Sonra tuşuna basınCtrl+e

Kodunuzda yapılacak değişikliklerin önizlemesini gösteren bir iletişim kutusu görünecektir. Her şey iyi görünüyorsa (çoğunlukla olacak), düğmesine basın OK.


0

Artık makinemde Visual Studio yüklü değil (ve Linux kullanıyorum), ancak bir sınıf oluşturucusuna erişim sağlayan menülerden birinin içinde gizli bir sihirbaz olduğunu hatırlıyorum.

Bu sihirbazla, yöntemler ve öznitelikler dahil olmak üzere tüm sınıflarınızın ayrıntılarını tanımlayabilirsiniz. İyi hatırlıyorsam, Visual Studio'dan ayarlayıcıları ve alıcıları sizin için otomatik olarak oluşturmasını isteyebileceğiniz bir seçenek vardı.

Oldukça belirsiz olduğunu biliyorum, ama kontrol et ve sen de bulabilirsin.



0

Önce Extension olsun sadece ( Ctrl+ Shift+ X) tuşuna basın ve alıcı ayarlayıcıyı yükleyin ....

Bundan sonra, değişkeninizi seçin ve sağ tıklayın. Komut paletine git ...

Ve getter yazın ... Get ve set yöntemleri oluşturmayı önerecektir. Buna tıklayın ...


1
"İlk uzantıyı al" ile ne demek istiyorsun ?
Peter Mortensen

Ctrl + Shift + X hangi bağlamda basılmalıdır?
Peter Mortensen

-4

Android Studio'da Alt+ tuşuna basmanız yeterlidir Ins.

Değişkenleri bildirdikten sonra, oluşturulan koddaki alıcıları ve ayarlayıcıları alırsınız.


Kimse android studio hakkında sormadı
warzone_fz

Soru "Visual Studio'da alıcıları ve ayarlayıcıları nasıl oluşturabiliriz?" . Visual Studio , Android Studio ile aynı değildir .
Peter Mortensen
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.