2011-08-22 16 views
6

IsNot Nothing çok yaygındır ("Hiçbir şey IsNot" vs "Var"), ama bunun yerine Exists kullanmak istiyorum oVB.net'e bir anahtar kelime eklemek ister misiniz?

o = çifte olumsuz. VB vocab'ma bir anahtar kelime ekleyebileceğim bir şey var mı? Şimdilik

, ben her nesneye bir özelliği olarak _Exists() ekleyen bir uzantısı yazdı. Bunu sık sık kullanırım, ancak yine de gerçek bir anahtar kelimeyi tercih ederim. Ben standart sözdizimi içine benim özel anlatımının dönüştürerek içine VS yanıltabilirsiniz eğer öyleyse

<HideModuleName()> 
Public Module CustomExtensions 

    ''' <summary> 
    ''' Returns <c>True</c> if [object] is not <c>Nothing</c>; otherwise <c>False</c>. 
    ''' </summary> 
    <System.Runtime.CompilerServices.Extension()> 
    Public Function _Exists(obj As Object) As Boolean 
     Return obj IsNot Nothing 
    End Function 

End Module 

Ben, münhasıran Visual Studio 2010 Kullanıcılara bu benim işime olur.

Teşekkürler!

+1

Bu çift negatif hiçbir şey IsNot yerine bir uzantısı yöntemi kullanmak için güzel bir fikirdir. Sadece merak ediyorum: neden alt çizgi? Ayrıca, belki HasValue daha güzel bir isim olurdu; Microsoft'un Nullable nesnesinin bir değere sahip olup olmadığını denetleyen yöntem için kullandığı addır. –

+0

Evet, bunun hakkında tartıştım, ancak alt çizgi kullanarak sona erdim çünkü "Varolanlar" ile test edilen gerçek nesne arasındaki görsel ayrımı seviyorum - özellikle nesnenin bir dizi nokta içermesi durumunda (örn. bir nesnenin mülkiyeti. Aslında String.IsNullOrEmpty' Değil 'eşittir ben dizeleri kullanmak' HasValue' adlı başka bir uzantısı bulunur. Microsoft'un yerleşik yöntemi hakkında iyi bir nokta olsa da, bunu düşünmemiştim. –

+0

2 sentlerim: dili değiştirmeyin. Dil bir iletişim şeklidir ve kendi lehçenizi başka kimsenin bilmediği bir hale getirdiğinizde iletişim kuramazsınız. 'Sıfırla' anahtar kelimesiyle kod aldıysanız ne olacak? Bu ne demek? Bu ne işe yarıyor? Visual Studio'ya nasıl eklersiniz? –

cevap

5

Bu yanıt çok yardımcı olmuyor ama işte burada: bunu yapamazsınız.

VS'nin gelecekteki sürümleri (özellikle derleyici hizmetlerini dahili olarak serbest bıraktıklarında ve genişletilebilir hale getirdiklerinde) buna izin verebilir - aslında yeni anahtar kelimelerin eklenmesini sağlayacağından şüphe duymalarına rağmen, uyumlu bir kod ekosistemi sağlamak isteyen derleyici satıcı.

+0

hm, VS mods * 'ın * yapabileceği her şeye rağmen oldukça şaşırtıcı. Ah iyi. Bir derhal bu derleyici detaylarını yayınlayacaklarını açıkladılar mı? –

+1

@ J.Steve Resmi bir duyurunun olduğundan emin değilim, ancak bazı bilgiler geliştiriciler tarafından "sızdırıldı"; [Eric Lippert] (http://blogs.msdn.com/b/ericlippert/archive/2010/12/16/hiring-for-roslyn.aspx). –

İlgili konular