Belirli bir nesnenin bir arabirim uygulayıp uygulamadığını kontrol etmem gerekiyor. C# 'ı basitçe söyleyebilirim:C# VB.NET eşdeğer anahtar kelime "dir" nedir?
if (x is IFoo) { }
bir TryCast()
kullanıyor ve sonra Nothing
iyi yolu kontrol?
Belirli bir nesnenin bir arabirim uygulayıp uygulamadığını kontrol etmem gerekiyor. C# 'ı basitçe söyleyebilirim:C# VB.NET eşdeğer anahtar kelime "dir" nedir?
if (x is IFoo) { }
bir TryCast()
kullanıyor ve sonra Nothing
iyi yolu kontrol?
Bunun gibi
if TypeOf x Is IFoo Then
...
aşağıdaki deneyin:
If TypeOf x Is IFoo Then
diğer kod dönüşümleri bir dizi yanı sıra VB.NET C# dönüştürmek için kullanın this online web solution.
http://www.developerfusion.com/tools/convert/csharp-to-vb/ ayrıca harika bir dönüştürme aracıdır.
doğrudan çevirisidir:
If TypeOf x Is IFoo Then
...
End If
Ama (ikinci soruyu cevaplamak için) orijinal kod daha iyi,
Sonravar y = x as IFoo;
if (y != null)
{
... something referencing y rather than (IFoo)x ...
}
, evet olarak yazılmıştır eğer
Dim y = TryCast(x, IFoo)
If y IsNot Nothing Then
... something referencing y rather than CType or DirectCast (x, IFoo)
End If
daha iyi.
teşekkürler/TypeOf anahtar kelimesi eksik olduğum şeydir – Tahbaza