2011-11-09 21 views
8

OS X için MonoDevelop 2.4.2 (Unity 3.4.1 ile gelen sürüm) kullanıyorum ve temel sınıftan veya özellikten gelen yorumları devralmanın bir yolu olup olmadığını merak ediyorum.Geçersiz Kılma Özellikleri için XML Açıklamaları

Örnek: Onlar bu noktada editörü nasıl davrandığını ile çoğunlukla endişe duyuyorum rağmen

public class Foo 
{ 
    /// <summary> 
    /// The describes the ABC property 
    /// </summary> 
    public virtual int ABC 
    { 
     get { return _abc; } 
     set { _abc = value; } 
    } 
    protected int _abc; 

    /// <summary> 
    /// The describes the XYZ property 
    /// </summary> 
    public virtual int XYZ 
    { 
     get { return _xyz; } 
     set { _xyz = value; } 
    } 
    protected int _xyz; 
} 

public class Bar : Foo 
{ 
    public override int ABC 
    { 
     set 
     { 
      // DO SOMETHING 
      base.ABC = value; 
     } 
    } 
} 

Bar bar = new Bar(); 

// In MonoDevelop 2.4.2 (OS X), the ABC property doesn't show the comments 
// in the autocomplete popup or when you hover the mouse over the property. 
int abc = bar.ABC; 

// ... but they do show up for XYZ, because it doesn't override 
int xyz = bar.XYZ; 

Bu soru, Comment Inheritance for C# (actually any language) biraz benzer görünüyor ve bu MonoDevelop özgüdür.

Bu sorudaki çözümlerden bazıları, < inheritdoc/> numaralı belgeye atıfta bulunarak, MonoDevelop uygulamasında geçerli görünmüyor (ya da kötüye kullanıyorum) ve Ghostdoc Visual Studio'dur. Tek çözüm, miras alınan sınıftaki özellik yorumlarını çoğaltmak olurdu gibi görünüyor. Alternatif var mı?

+0

// Do Something için geçersiz bir OnABCChanged() işlevine gidecektim. – CodingBarfield

cevap

1

Gerçekten doğrulayamıyorum, ancak şu anda MonoDevelop'un bir parçası olan DocFood adında bir eklenti vardı (en son sürüm 2.8'dir. * Sanırım). Deneyin, ana uygulamadaki yorumları kaleme alabileceğini düşünüyorum.

+0

Bilgi için teşekkürler. Bunu daha önce hiç duymamıştım. DocFood, MonoDevelop 2.4 için bir eklenti olarak tanıtıldı ve daha sonra 2.6 (ve 2.8) 'e entegre edildi. Eklenti, Mike Krüger tarafından geliştirildi, ancak bağlantılar artık çalışmadığı için projenin code.google.com adresinden kaldırıldığı anlaşılıyor. http://code.google.com/u/111319935500602416334/updates –

+0

Unity şu anda MonoDevelop 2.4.2 kullanıyor olduğundan ... kontrol etmek için beklemek zorundayım. Bu, eski saatte bir eklenti elde edemem. –