Mam metoda C# powiedzieć:Jak rozpoznać każdy typ parametru w metodzie C#?
MyMethod(int num, string name, Color color, MyComplexType complex)
Korzystanie refleksji, w jaki sposób można wyraźnie zidentyfikować każdego z typów parametrów dowolnej metody? Chcę wykonać pewne zadanie według typu parametru. Jeśli typ jest prosty int, string lub boolean to robię coś, jeśli jest to Color, XMLDocument, itp. Robię coś innego i jeśli jest to typ zdefiniowany przez użytkownika jak MyComplexType lub MyCalci itp., To chcę wykonać pewne zadanie.
Jestem w stanie pobrać wszystkie parametry metody przy użyciu parametru ParameterInfo i mogę przechodzić przez każdy parametr i uzyskać ich typy. Ale w jaki sposób mogę zidentyfikować każdy typ danych?
foreach (var parameter in parameters)
{
//identify primitive types??
//identify value types
//identify reference types
}
Edit: to oprócz mojego kodu do stworzenia propert siatki rodzaju strony, na której chcę pokazać listę parametrów z typów danych dla wybranej metody. Jeśli parametr ma zdefiniowany przez użytkownika typ/typ odniesienia, to chcę go rozszerzyć, aby pokazać wszystkie elementy pod nim z typami danych.
Co dokładnie chcesz zrobić z parametrem złożonym? –
Masz * znacznie * większy problem niż to, w jaki sposób wygenerujesz właściwą * wartość *, aby wykonać połączenie? Przemyśl to i odpowiedz wyjdzie. Spójrz na słowo kluczowe * dynamic *. –
@mace, w zasadzie, próbuję utworzyć rzecz strony rodzaju rzeczy, gdzie strona powinna pokazać parametry i typ. Jeśli jest to typ odniesienia, na przykład MyComplexType, to rozwijam ten typ, aby znaleźć inny typ w nim.Jeśli nie jest to typ odniesienia, taki jak int, string lub color, nie muszę sprawdzać w nim. Mam nadzieję, że masz to, co mam na myśli. –