SORU
12 Kasım 2008, ÇARŞAMBA


'Deyimi İle' VB.NET ; - kucaklama ya da vermemek?

İşte, sık sık bazı nesnelerin çeşitli özellikleri erken yaşamları boyunca kendi inşaat sırasında ya da ayarlamak için projeler üzerinde çalışıyorum. Kolaylık ve okunabilirlik uğruna, ben sık sık bu özellikleri ayarlamak için With deyimini kullanın. Bu buluyorum

With Me.Elements
    .PropertyA = True
    .PropertyB = "Inactive"
    ' And so on for several more lines
End With

Göründüğünden çok daha iyi

Me.Elements.PropertyA = True
Me.Elements.PropertyB = "Inactive"
' And so on for several more lines

sadece özelliklerini çok uzun açıklamaları.

Ayıklarken With kullanma ile ilgili bazı sorunlar vardır; ancak, fark ettimEğer uygulamada With kullanarak önlemek için herhangi bir zorlayıcı sebep olsaydı orada merak ediyordum? Her zaman yukardaki kod iki durumda derleyici ile oluşturulan temelde her zaman daha okunabilir olduğunu düşündüğüm şeyi yazmak için seçtim bu yüzden aynı olduğunu varsaydım.

CEVAP
12 Kasım 2008, ÇARŞAMBA


Uzun variablenames ve sonunda.

UserHandler.GetUser.First.User.FirstName="Stefan"
UserHandler.GetUser.First.User.LastName="Karlsson"
UserHandler.GetUser.First.User.Age="39"
UserHandler.GetUser.First.User.Sex="Male"
UserHandler.GetUser.First.User.Occupation="Programmer"
UserHandler.GetUser.First.User.UserID="0"
....and so on

o zaman daha kolay okunur hale getirmek için kullanmak istiyorum:

With UserHandler.GetUser.First.User
    .FirstName="Stefan"
    .LastName="Karlsson"
    .Age="39"
    .Sex="Male"
    .Occupation="Programmer"
    .UserID="0"
end with

Daha örnek var hatta performans avantajı ilk örnek, çünkü ilk örnek İm getiriliyor kullanıcı her zaman erişim bir kullanıcı özelliği ve bu dava İLE sadece fetch kullanıcı bir kez.

Bu gibi kullanarak olmadan performans artışı alabilirim:

dim myuser as user =UserHandler.GetUser.First.User
myuser.FirstName="Stefan"
myuser.LastName="Karlsson"
myuser.Age="39"
myuser.Sex="Male"
myuser.Occupation="Programmer"
myuser.UserID="0"

Ama deyimi yerine giderdim, temiz görünüyor.

RefundDialog.ve ben sadece çok anahtar kelime ile bir sınıf üzerinde şikayet yani bunu bir örnek olarak aldı, başka bir örnek gibi olabilir: RefundDatagridView.SelectedRows(0)

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Blendtec

    Blendtec

    30 EKİM 2006
  • PaulGBelliveau

    PaulGBellive

    5 Mart 2009
  • TheFlashCentre

    TheFlashCent

    22 Mayıs 2008