Aracılığıyla paylaş


Yeniden Düzenlemeyi (C#) Yeniden Adlandırma

Yeniden adlandır Visual Studio entegre bir geliştirme ortamında (IDE) alanlar, yerel değişkenler, yöntemler, özellikler ve türler gibi kod simgelerinin tanımlayıcılarını yeniden adlandırmak için kolay bir yol sağlayan bir yeniden düzenleme özelliğidir.Yeniden adlandır açıklamalardaki, dizelerdeki adları ve bir tanımlayıcıya ilişkin bildirimleri ve çağrıları değiştirmek için kullanılabilir.

[!NOT]

Visual Studio için Kaynak Denetimi kullanırken, yeniden adlandırma yeniden düzenlemesi gerçekleştirmeden önce kaynakların en son sürümünü alın.

Yeniden düzenlemeyi yeniden adlandırma aşağıdaki Visual Studio özelliklerinden kullanılabilir:

Özellik

IDE içinde Yeniden Düzenlemenin davranışı

Kod Düzenleyicisi

Kod Düzenleyicisi'nde imleci bazı kod sembollerinin üzerine yerleştirdiğinizde yeniden adlandırma yeniden düzenleme kullanılabilir.İmleci bu konuma geldiğinde harekete yeniden adlandırma klavye kısayolu (ctrl + r, ctrl + r) yazarak veya seçerek komut yeniden adlandırma akıllı etiket, kısayol menüsü komutunu veya erişimcilerinden menü.

Sınıf Görünümü

Sınıf Görünümü'nde tanımlayıcı seçtiğinizde, kısayol ve Yeniden Düzenle menüsünde yeniden adlandırma düzenlemesi bulunur.

Nesne Tarayıcısı

Nesne Tarayıcısı'nda tanımlayıcı seçtiğinizde, yeniden adlandırma düzenlemesi yalnızca kısayol ve Yeniden Düzenle menüsünde bulunabilir.

Windows Form Tasarımcısı'nın Özellik Kılavuzu

Windows Forms Tasarımcısı'nın Özellik Kılavuzu'nda bir denetimin adını değiştirmek o denetim için yeniden adlandırma işlemini başlatır.Yeniden Adlandır iletişim kutusu görünmez.

Çözüm Gezgini

Çözüm Gezgini'ndeki kısayol menüsünde bir Yeniden Adlandır komutu bulunur.Seçili kaynak dosyası sınıf adı dosya adıyla aynı olan bir sınıf içeriyorsa, bu komutu kaynak dosyasını adlandırmak ve bununla eş zamanlı olarak yeniden adlandırma yeniden düzenlemesini çalıştırmak için kullanabilirsiniz.

Örneğin, bir varsayılan Windows tabanlı uygulama oluşturursanız ardından Form1.cs dosyasını TestForm.cs olarak yeniden adlandırırsanız, Form1.cs kaynak dosyası adı TestForm.cs olarak değişir ve Form1 sınıfı ve bu sınıfa olan tüm başvurular TestForm olarak adlandırılır.

NotNot
Geri Al komutu (CTRL+Z) yalnızca koddaki yeniden adlandırma yeniden düzenlemesini geri alır ve kodu dosyanın eski özgün adına dönüştürmez.

Seçili kaynak dosyası sınıf adı dosya adıyla aynı olan bir sınıf içermiyorsa, Çözüm Gezgini içindeki Yeniden Adlandır komutu yalnızca kaynak dosyasını yeniden adlandıracak, yeniden adlandırma yeniden düzenlemesini çalıştırmayacaktır.

İşlemleri yeniden adlandırın.

Rename öğesini yürüttüğünüzde, yeniden düzenleme motoru, aşağıda tabloda gösterildiği gibi, her kod simgesine özel bir yeniden adlandırma işlemi gerçekleştirir.

Kod Simgesi

İşlemi yeniden adlandırın.

Alan

Alana ait bildirimler ve kullanımları yeni ad ile değiştirir.

Yerel değişken

Değişkene ait bildirimler ve kullanımları yeni ad ile değiştirir.

Method

Yöntem ve bu yönteme ait tüm referansların adını yeni ad ile değiştirir.

NotNot
Bir uzantı yöntemini yeniden adlandırdığınızda, kapsamı ne olursa olsun kullanılan uzatma yönteminin tüm uzantılarına, kullanılan uzatma yönteminin durağan veya örnek yöntem olmasından bağımsız olarak yayılacaktır. Daha fazla bilgi için bkz. Uzantı yöntemleri (C# Programlama Kılavuzu).

Ad uzayı

Ad alanının adını bildirim üzerindeki yeni ad ile değiştirir, tüm using ifadeler ve tamamen nitelikli adlar.

NotNot
Bir ad alanını yeniden adlandırırken Visual Studio öğesi aynı zamanda Proje Tasarımcısı'nın Uygulama sayfasındaki Varsayılan Ad Alanı özelliğini de güncelleştirir.Bu özellik, Düzenle menüsünden Geri Al seçilerek sıfırlanamaz.Varsayılan Ad Alanı özellik değerini sıfırlamak için, Proje Tasarımcısı'ndaki özelliği değiştirmeniz gerekir.Daha fazla bilgi için bkz. Uygulama Sayfası.

Özellik

Özelliğe ait bildirimler ve kullanımları yeni ad ile değiştirir.

Tür

Oluşturucular ve yok ediciler dahil, türe ait tüm bildirimler ve kullanımları yeni ad ile değiştirir.Kısmi türler için, yeniden adlandırma işlemi tüm kısımlara yayılacaktır.

Bir tanımlayıcı yeniden adlandırmak için

  1. RenameIdentifier adlı bir konsol uygulaması oluşturun, ardından bunu Program aşağıdaki örnek kod ile değiştirin.

    class ProtoClassA
    {
        // Invoke on 'MethodB'.
        public void MethodB(int i, bool b) { }
    }
    
    class ProtoClassC
    {
        void D()
        {
            ProtoClassA MyClassA = new ProtoClassA();
    
            // Invoke on 'MethodB'.
            MyClassA.MethodB(0, false);
        }
    }
    
  2. İmleci yöntem bildiriminde veya yöntem çağrısında bulunan MethodB yöntemine yerleştirin.

  3. Yeniden Düzenle menüsünden Yeniden Adlandır'ı seçin.Yeniden Adlandır iletişim kutusu belirir.

    Ayrıca imleci sağ tıklatabilir, bağlam menüsünde Yeniden Düzenle'ye getirebilir ve ardından Yeniden Adlandır iletişim kutusunu görüntülemek için Yeniden Adlandır'ı tıklatabilirsiniz.

  4. Yeni Ad alanına MethodC yazın.

  5. Açıklamalar içinde ara onay kutusunu seçin.

  6. Tamam düğmesini tıklatın.

  7. Değişiklikleri Önizle iletişim kutusundan Uygula'yı tıklatın.

Akıllı etiketleri kullanarak bir tanımlayıcı yeniden adlandırmak için

  1. RenameIdentifier adlı bir konsol uygulaması oluşturun, ardından bunu Program aşağıdaki örnek kod ile değiştirin.

    class ProtoClassA
    {
        // Invoke on 'MethodB'.
        public void MethodB(int i, bool b) { }
    }
    
    class ProtoClassC
    {
        void D()
        {
            ProtoClassA MyClassA = new ProtoClassA();
    
            // Invoke on 'MethodB'.
            MyClassA.MethodB(0, false);
        }
    }
    
  2. MethodB öğesinin bildiriminde, yöntem tanımlayıcısının üzerine yazın veya geri alın.Bu tanımlayıcının altında akıllı bir etiket istemi görünecektir.

    [!NOT]

    Yalnızca bir tanımlayıcının bildiriminde akıllı etiketler kullanarak yeniden adlandırmayı yeniden düzenleme özelliğini çağırabilirsiniz.

  3. Akıllı etiket menüsünü görüntülemek için klavye kısayolu olan SHIFT+ALT+F10 tuşlarına basın ve ardından AŞAĞI OK' a basın.

    -veya-

    Akıllı etiketi görüntülemek için fare işaretçisini akıllı etiketin üzerine getirin.Daha sonra fare işaretçisini akıllı etiket üzerine taşıyın ve akıllı etiket menüsünü görüntülemek için AŞAĞI OK öğesini tıklatın.

  4. Kodunuzun değişikliklerinin önizlemesi olmadan yeniden adlandırmayı düzenlemeyi çağırmak için '<identifer1>'öğesini'<identifier2>'yeniden adlandır'ı seçin.<identifer1> için olan tüm başvurular < identifier2 > için otomatik olarak güncelleştirilecektir.

    -veya-

    Yapılan yeniden düzenlemeyi kodunuzdaki değişiklikleri önizleyerek yeniden adlandırma işlemini çağırmak için Önizleme ile yeniden adlandır menü öğesini seçin.Değişiklikleri Önizle iletişim kutusu görüntülenir.

Notlar

Uygulanan veya Geçersiz Kılınan Üyeleri Yeniden Adlandırma

Uygulanan/geçersiz kılınan bir üyeyi veya diğer türlerdeki üyeler tarafından uygulanmış veya geçersiz kılınmış bir üyeyi Yeniden adlandırdığında Visual Studio yeniden adlandırma seçeneği basamaklı güncelleştirmeler yol açacaktır diyen bir iletişim kutusu görüntüler.Devam'ı tıklatırsanız, yeniden düzenleme motoru tabandaki bütün üyeleri ve yeniden adlandırılan üye ile uygulama geçersiz kılma ilişkisi olan türetilmiş türleri yinelemeli olarak bulup yeniden adlandırır.

Aşağıdaki kod örneği uygulamalar/geçersiz kılmalar ilişkileri ile üyeleri içerir.

interface IBase
{
    void Method();
}
public class Base
{
    public void Method()
    { }
    public virtual void Method(int i)
    { }
}
public class Derived : Base, IBase
{
    public new void Method()
    { }
    public override void Method(int i)
    { }
}
public class C : IBase
{
    public void Method()
    { }
}

Önceki örnekte, C.Method() öğesini yeniden adlandırma Ibase.Method() öğesini de yeniden adlandırır çünkü C.Method() öğesi Ibase.Method() öğesini uygular.Next, yeniden düzenleme motoru Ibase.Method() öğesinin Derived.Method() tarafından uygulandığını ve Derived.Method() öğesini yeniden adlandırdığını yinelemeli olarak görür.Derived.Method() öğesi Base.Method() öğesini geçersiz kılmadığından yeniden düzenleme motoru Base.Method() öğesini yeniden adlandırmaz.Aşırı Yüklemeleri Yeniden Adlandır öğesi Yeniden Adlandır iletişim kutusunda iade edilmedikçe yeniden düzenleme motoru burada durur.

Aşırı yüklemeleri yeniden adlandır işaretliyse, yeniden düzenleme motoru tarafından Derived.Method(int i) yeniden adlandırılır çünkü Derived.Method() aşırı yüklenir, Base.Method(int i) yeniden adlandırılır çünkü Derived.Method(int i) tarafından geçersiz olur ve Base.Method() yeniden adlandırılır çünkü bir Base.Method(int i) aşırı yüklemesidir.

[!NOT]

Başvurulan bir derlemede tanımlanmış bir üyeyi yeniden adlandırdığınızda, bir iletişim kutusu yeniden adlandırmaların inşa hatalarına yol açacağını açıklar.

Anonim Türdeki Özellikleri Yeniden Adlandırma

Anonim türlerdeki bir özelliği yeniden adlandırdığınızda, yeniden adlandırma işlemi aynı özelliklere sahip diğer anonim türlerin özelliklerine de yayılacaktır.Aşağıdaki örnek bu davranışı gösterir.

var a = new { ID = 1};
var b = new { ID = 2};

Önceki kodda, ID öğesini yeniden adlandırma, iki deyimde de aynı temel anonim tür olduğundan ID öğesini her iki deyimde de değiştirecektir.

var companyIDs =
    from c in companylist
    select new { ID = c.ID, Name = c.Name};

var orderIDs =
    from o in orderlist
    select new { ID = o.ID, Item = o.Name};

Önceki kodda, ID öğesini yeniden adlandırma ID öğesinin yalnızca tek bir örneğini yeniden adlandırır çünkü companyIDs ve orderIDs aynı özelliklere sahip değildir.

Ayrıca bkz.

Başvuru

Anonim türleri (C# Programlama Kılavuzu)

Kavramlar

Yeniden Düzenleme (C#)