'#; C lar VB eşdeğer.'In Net DirectCast?
Bu muhtemelen önce soruldu, ama eğer varsa, onu bulamıyorum. Yok C# VB.NET bir eşdeğer'In DirectCast? Var olduğunu biliyorum () atan ve 'anahtar kelime, ama o çizgi CType ve TryCast.
Açık olmak gerekirse, bu anahtar kelimeler aşağıdakileri yapın;
() CType/ atmalarını: Eğer zaten doğru türde olup olmadığını, koyun, tipine bak dönüştürücü aksi ve onu çağırmak. Eğer herhangi bir tür dönüştürücü bulunursa, bir InvalidCastException atmak.
TryCast/"gibi" anahtar kelime: Eğer doğru tip, koyun, aksi takdirde null döndürür.
DirectCast: Eğer doğru tip, koyun, aksi halde bir InvalidCastException atmak.
EDİT: Yukarıda dile sonra, bazı insanlar hala yanıt yok () daha fazla, bu doğru değil, neden üzerine genişletmek istiyorum bu eşdeğerdir.
DirectCast yalnızca ya da miras ağaç dönüşümleri Genişletme Daralma için izin verir, farklı dallar arasında dönüşüm gibi desteklemiyor). yani: #, C derlenir ve çalışır:
//This code uses a type converter to go across an inheritance tree
double d = 10;
int i = (int)d;
VB.Net bu DERLEME DEĞİL
'Direct cast can only go up or down a branch, never across to a different one.
Dim d as Double= 10
Dim i as Integer = DirectCast(d, Integer)
Benim için C VB.Net eşdeğer# kodu CType
'This compiles and runs
Dim d as Double= 10
Dim i as Integer = CType(d, Integer)
(Yeniden düzenleme, aslında dizeleri kullanıyordum,... pardon çift) olarak değiştirdim
CEVAP
İşlevselliği C DEĞİL istediğiniz açık görünüyor#. Bu olsa.. deneyin
static T DirectCast<T>(object o, Type type) where T : class
{
if (!(type.IsInstanceOfType(o)))
{
throw new ArgumentException();
}
T value = o as T;
if (value == null && o != null)
{
throw new InvalidCastException();
}
return value;
}
Ya da, VB çağrısından farklı olsa da severim
static T DirectCast<T>(object o) where T : class
{
T value = o as T;
if (value == null && o != null)
{
throw new InvalidCastException();
}
return value;
}
İyi NumericUpDown WPF eşdeğer?...
CSS ımg etiketinin src özniteliği eşde...
Java Python Sözlükler Eşdeğer...
OS X Linux benzeyen, zayıf sembol takm...
Kod '' zincirleme SERİ anaht...