VB.NET içinde dize Değişken Adı Mağaza

oy
3

Ben dizeleri içindeki bazı değişkenlerin adlarını saklamak çalışıyorum. Örneğin:

Dim Foo1 as Integer
Dim Foo1Name as String

' -- Do something to set Foo1Name to the name of the other variable --

MessageBox.Show(Foo1Name &  is the variable you are looking for.)
' Outputs:
' Foo1 is the variable you are looking for.

Bu Üzerinde çalıştığım bazı ayıklamaya yardımcı olmak olacaktır.

Oluştur 09/12/2008 saat 16:31
kaynak kullanıcı
Diğer dillerde...                            


5 cevaplar

oy
5

Eh, sen açıkça sadece Foo1Name = "foo1" ayarlayabilirsiniz - ama güçlü peşinde olduğunuz şey bu değil şüpheli.

Nasıl sen adını bulmaya çalışıyoruz hangi değişken bilemez? Büyük resim nedir? İstediğin olabilir biz yerel olmayan değişkenlerle ilgili konuşuyorsanız yansıması ile mümkün, ama o da şüpheli değil mümkün, ya da ilk etapta sorunu saldırmak için daha iyi bir yolu var.

Cevap 09/12/2008 saat 16:36
kaynak kullanıcı

oy
2

Does bu yansıma yardım kullanarak msdn örnek?

Cevap 09/12/2008 saat 16:44
kaynak kullanıcı

oy
1

Bu gerçekten hata ayıklamak için çalışıyoruz ne bağlı olduğunu düşünüyorum. Bakmak için iki olası şeylerdir Yansıma ve StackTrace sınıfları. Bu program derlenmiş zaman, derleyici ve çalışma zamanı adları özgün programı ile tutarlı olması gerektiğini garanti etmiyoruz söyledi.

Bu sürüm oluşturur vs hata ayıklama ile özellikle böyledir. Ayıklama sürümünde .PDB dosyaları (semboller) noktası orijinal program hakkında daha fazla bilgi eklemek için vardır. Doğal C / C ++ uygulamaları için, şiddetle ayıklamaya yardımcı olmak amacıyla uygulamanın her yapı (hata ayıklama + sürüm) için semboller üretir önerilir. Yansıma gibi özellikler olmadığından NET'te bu bir sorun daha azdır. IIRC John Robbins , ayrıca her zaman NET projeleri için semboller üretir önerir.

Ayrıca Mike Stall en bulabilir günlüğü faydalı ve yönetilen ayıklayıcı örnekleri.

Cevap 09/12/2008 saat 16:55
kaynak kullanıcı

oy
1

Bir çözüm değişkenleri saklamak için bir ilişkisel dizi kullanmak olacaktır. Bir keresinde .NET yaptım, ama bunu yapmak için özel bir sınıf yazdı düşünüyorum.

myArray("foo1Name") = "foo1"

Sonra, sadece değişken isim listesini saklayabilir veya aynı sınıfta olduğu kadar kaydırılabilir.

if( myArray(variableName(x)) == whatImLookingFor ) print variableName(x) & "is it"
Cevap 09/12/2008 saat 16:45
kaynak kullanıcı

oy
0

Değişken adını bulma için bkz: bir işleve geçirilen değişken adını bulma

Bu hem VB.Net için de geçerli olacak.

Cevap 09/12/2008 saat 16:46
kaynak kullanıcı

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more