Merhaba C# ile aynı türde nesnenin nasıl kontrol edileceğini bilmem gerekiyor.
Nesnenin aynı türde olup olmadığını kontrol etme
Senaryo:
if (data is Person)
{
// data is an instance of Person
}
diğer olasılık as
operatörü kullanmaktır::
class Base_Data{}
class Person : Base_Data {}
class Phone : Base_data {}
class AnotherClass{
public void CheckObject(Base_Data data){
if(data.Equals(Person.GetType())){ //<-- Visual Studio 2010 gives me error, says that I am using 'Person' is a type and not a variable.
}
}
}
IMHO: Lütfen bu tasarım türünü tekrar gözden geçirin. Ya yönteminiz 'Base_Data' türüyle çalışır veya alt sınıflar, 'Kişi' ve 'Telefon' ile çalışır. 'CheckObject' ile gerçekten farklı şeyler oluyorsa, neden sadece yöntemi aşırı yüklemiyor ve' CheckObject (Phone phone) 've' CheckObject (Person person) 'yöntemlerini kullanıyorsunuz? Daha fazla kod değil ve "CheckObject" 'e geçtiğiniz 'Base_Data' alt sınıfının' CheckObject' tarafından desteklendiğini kontrol etmek için biraz derleme zamanı elde edersiniz. – mlibby