Odczyt argumentów metody jako tablica.

0

Witam.

Z tego co szukałem w Internecie nie jest to możliwe, ale jeszcze na wszelki wypadek zapytam Was:

Czy jest możliwe, żeby odczytaj parametry przekazane do danej metody jako tablica?
Np.
Mamy metodę:

public void foo(int number, string word)
{} 

Wywołujemy ją:

foo(1, "test"); 

Chciałbym otrzymać informację w stylu:

foo(int number=1, string word="test")

Potrzebuję do tego:

  • nazwę metody
  • listę argumentów jakie przyjmuje
  • wartości z jakimi została wywołana.
    O ile z pierwszymi dwoma punktami potrafie sobie poradzić, to na trzeci nie mam pomysłu...

Z góry dziękuję za pomoc.

0

No ale że o co chodzi? :P
Możesz przecież na początku tej metody napisać jakieś

Console.WriteLine("foo(int number={0}, string word=\"{1}\", number, word);

Poza tym napisz lepiej to, co chcesz osiągnąć.

0

Zapomniałem dodać najważniejszego przez co mój post stał się bez sensu :D.

Sposób ma być "uniwersalny" dla dowolnej metody.

0

Ale to ma być metoda wywołana bezpośrednio, czy masz nad nią jakąś kontrolę?

0

Jedna z możliwości to aspect programming, który w C#/.NET może być realizowany np. poprzez dziedziczenie MarshalByRefObject albo przepisywanie bytecode'u. Jest wiele frameworków do tego, wpisz w google "C# aspect programming".

0

@somekind szczerze mówiąc nie do końca rozumiem pytanie :/... Jest to metoda jednej z klas, którą później gdzieś wykorzystuje w projekcie.

@Rev - dziękuję za "trop" - poszukam informacji na ten temat.

0

@hipekk, pytam czy masz jakiś wpływ na to, kiedy ta metoda zostanie wywołana?

0

Tak, całość jest "moja", więc mam wpływ.

0

To jeśli metoda jest w klasie, którą wstrzykujesz przez Castle Windsor lub Autofac, to możesz ją opakować w interceptor, i tam mieć dostęp do tego wszystkiego, co chcesz.
To wygląda rozsądnie: http://blog.devdave.com/2013/04/getting-started-with-castle-windsor.html

1 użytkowników online, w tym zalogowanych: 0, gości: 1