Kodumdaki bazı nesnelerin ve sınıfların durumu hakkında bilgi kaydetmeye çalışıyorum. Tüm sınıflar ya da kütüphaneler Serileştirme ile uygulanmamıştır. Bu yüzden, bir XML belgesini yazmak için Properties üzerinde Reflection kullanıyorum. Ancak, yerleşik sınıflar (Strings, DateTime, Numbers vs ...) gibi bazı nesnelerin, sınıfın değerini anlamlı bir şekilde basan bir ToString fonksiyonuna sahip olması konusunda bir meydan okuma var. Fakat diğer sınıflar için, ToString'i çağırmak sadece nesne tipinin adını çıkarmak için miras alınan taban ToString'i kullanır (Örneğin, bir Sözlük). Bu durumda, o sınıf içindeki özelliklere tekrar tekrar incelemek istiyorum.Bir nesnenin ToString'i açıkça uygulayıp uygulamadığını anlamak için bir yol var mı? #
Birisi bana, ya da bir yöntem üzerinde çalıştığım bir ToString olup olmadığını anlamak için yansıma ile bana yardımcı olabilir temel yöntem değil VE alma almak için GetValue kullanarak doğru yolu işaret etmek için değil özellikleri takdir ediyorum.
J
BindingFlags.DeclaredOnly doğrudan test sağlar kullanma. –
Ancak, nesne dışındaki bir temel sınıftan devralınan bir geçersiz kılma olabilir. – phoog
Sağ. Ve Hans Passant'ın sadece nesnenin çalışma zamanı tipi tarafından bildirilen geçersiz kılmalara bakma önerisi bu nedenle kısa düşüyor. – phoog