Belirli bir tür olup olmadığını kontrol edebileceğim bir yönteme bir tür geçirmeye çalışıyorum. Ancak aşağıda sahip olduğum kod derlenmiyor ve ben neyin yanlış olduğunu merak ediyorum. Derleme hatası: 'dataType' tipi veya ad alanı adı bulunamadı.Tür, yöntem içinden geçirildiğinde 'is' nasıl kullanılır?
public static List<object> findType(Type dataType)
{
List<object> items = new List<object>();
foreach (KeyValuePair<int, object> entry in DataSource.ItemPairs)
{
if (entry.Value != null && entry.Value is dataType)
{
items.Add(entry.Value);
}
}
return items;
}
Bu, "olduğu" ile aynı şey değildir. Sadece uyumsuzluk değil, tip eşitliğini kontrol eder. –
Unutmayın, bu 'yinelemeli' çalışır. Yani, belirli türetilmiş sınıfın temel türden olduğunu kontrol ettiğinizde, true (arayüzler dahil) döndürür. Davanızdaki basit bir karşılaştırma bu şekilde çalışmaz. –
Sağ. Umarım şimdi daha iyidir. –