burada yaptığım şey:System.Type değişkenlerinde "is" operatörü nasıl kullanılır?
object ReturnMatch(System.Type type)
{
foreach(object obj in myObjects)
{
if (obj == type)
{
return obj;
}
}
}
Ancak, eğer type
'in bir alt sınıfı ise, eşleşmeyecektir. Ama işlevin is
operatörünü kullanıyormuşum gibi geri dönmesini istiyorum.
Aşağıdakileri denedim, ancak derlemeyeceğim:
if (obj is type) // won't compile in C# 2.0
En iyi çözüm şu oldu:
if (obj.GetType().Equals(type) || obj.GetType().IsSubclassOf(type))
is
operatörünü kullanmanın bir yolu yok kodu daha temiz mi?
Eğer yapamam operatör 'kullanmak' bu en iyi çözüm olurdu ... – Jonas