Spisu treści:
Definicja - Co oznacza operator Typeof?
Operator Typeof, w języku C #, jest operatorem służącym do określenia typu przekazywanego mu parametru. Zwraca obiekt System.Type skojarzony z tym typem, który przechowuje wszystkie szczegóły związane z danym typem.
Funkcja refleksji w środowisku .NET to potężny mechanizm, dzięki któremu można poznać i wykorzystać możliwości danego typu w czasie wykonywania. Operator typeof korzysta z możliwości refleksji w celu przeszukiwania informacji związanych zarówno z typami wartości, jak i odniesieniami, takimi jak konstruktory, zdarzenia, pola, właściwości, moduł i zespół, w którym typ jest wdrożony.
Operator typeof może być używany jako część wyrażenia w celu uzyskania odwołania do obiektu Type dla różnych typów używanych w jednostce kompilacyjnej. Może być używany do wyświetlania odniesień typu jako ciągów, a także może być przypisany do zmiennej typu, System.Type lub pola. Jest stosowany w metodach statycznych Enum, klasie DataTable i metodach konwersji ArrayList.
Techopedia wyjaśnia Typeof Operator
Operator Typeof może być używany z dowolnym z następujących parametrów:- Typ, który nie jest dynamiczny
- Niezwiązana nazwa typu reprezentująca typ ogólny z listą argumentów. Są one określone za pomocą odpowiednich przecinków.
- słowo kluczowe „void”
Na przykład operator typeof może być używany ze StreamReaderem, typem zdefiniowanym w bibliotece .NET Framework do przechowywania go w zmiennej System.Type. Tej zmiennej typu można następnie użyć do zapytania o szczegóły, takie jak typ klasy (abstrakcyjny lub konkretny), metody itp.
Za pomocą operatora typeof można określić typy publiczne zdefiniowane w System.IO lub System namespace. Nie można go przeciążić niestandardową implementacją.
Ponieważ operator typeof korzysta z techniki odbicia, aby uzyskać dostęp do opisu metadanych typu, powoduje to, że jest powolny, gdy jest używany do zoptymalizowanego kodu, a zatem powinien być używany rzadziej. Przechowywanie typu zwracanego operatora typeof w zmiennej statycznej może w niektórych przypadkach poprawić wydajność.
