Załóżmy, że tworzymy ogólną zmienną Object i przypisujemy ją do konkretnej instancji. Jeśli zrobisz GetType(), otrzyma on typ Object lub typ oryginalnej klasy?Czy obiekty C# znają typ bardziej specyficznej klasy?
7
A
Odpowiedz
3
Tak.
Można również zrobić:
object c = new FooBar();
if(c is FooBar)
Console.WriteLine("FOOBAR!!!");
2
Krótka odpowiedź: GetType() zwróci typ konkretnego obiektu. Zrobiłem szybką aplikację do testowania to:
Foo f = new Foo();
Type t = f.GetType();
Object o = (object)f;
Type t2 = o.GetType();
bool areSame = t.Equals(t2);
A Tak, one są takie same.
+0
użyj: jeśli (o to Foo) zamiast tego. – Alan
0
Wywołanie funkcji GetType() spowoduje wywołanie typu RZECZYWISTEGO. Jeśli chcesz poznać typ bazowy, możesz wywołać metodę GetType(). BaseType
Powiązane problemy
- 1. C# Pattern dla kodu klasy abstrakcyjnej specyficznej
- 2. przy użyciu klasy specyficznej set_new_handler
- 3. typ klasy Objective C
- 4. Wzór implementacji specyficznej dla wersji klasy Java
- 5. Typ klasy C++ jako argument
- 6. C++ Szablon "typ klasy" Błędy
- 7. Kolor tekstu specyficznej konsoli RGB C++
- 8. Typ dynamiczny rzutowania z id do klasy w celu c
- 9. Deklaracja klasy Forward w C++, niekompletny typ
- 10. Czy istnieją bardziej bezpieczne alternatywy dla klasy .Net SQLConnection?
- 11. Związane/powiązane obiekty/klasy w języku C# podobne do LINQ
- 12. Oceń macierz na specyficznej subarray
- 13. Bardziej piękna deklaracja klasy anonimowej TypeScript?
- 14. C++ powrocie tymczasowe obiekty zamieszanie
- 15. typ obiektu 'X' nie ma atrybut 'obiekty'
- 16. C# bardziej skuteczny sposób porównywania dwóch zbiorów
- 17. Ustal, czy dwa obiekty Java są tej samej klasy
- 18. Czy można przechowywać obiekty klasy Python w SQLite?
- 19. Pobieranie listy tabel ze specyficznej bazy danych na serwerze C#
- 20. Czy Java optymalizuje niezmienne obiekty?
- 21. Jak zwrócić nowe obiekty C++ w Cython?
- 22. Railsowe obiekty usług a klasy lib
- 23. C++ czy typ zmiennej zależy od kontekstu?
- 24. C++ - Wiesz, czy typ/klasa jest zagnieżdżona?
- 25. Typ klasy Haskella dla kolejki
- 26. co jest deklaracją C# równoważną delphi "class of" (typ klasy)?
- 27. Jak mogę pobrać typ klasy bazowej w C++?
- 28. decltype dla metody klasy typ
- 29. Czy NSArray kopiuje obiekty?
- 30. Jak związany typ klasy podklasy
Czy wypróbowałeś już 10 linii kodu? –
Tak - zrobiłem to jako "miałem pytanie i chciałem podzielić się odpowiedzią" post :) – Kalid
... wysłane w tym samym czasie, co Twoja odpowiedź próbna! –