Как вы динамически получаете имя конкретного метода строго типизированным способом? - PullRequest
3 голосов
/ 07 апреля 2009

Я немного не уверен, как сформулировать заголовок этого вопроса, но я ищу кратчайший / aseist способ в VB.NET (или C #, но с использованием VB.NET в данный момент), чтобы получить строковое значение имени метода динамически с учетом вызова метода.

Например, у меня есть такой класс:

Public Class Blah
    Public Sub Foo()
    End Sub
End Class

Теперь Foo - это строго типизированная обложка для динамического параметра, и у меня есть обработчик событий, который будет срабатывать при изменении параметра и возвращать имя строки параметра, который изменился.

Я бы хотел иметь возможность переключаться / выбирать эту строку и иметь регистр, основанный на методе Foo (). Для этого мне нужно иметь возможность получить строковое имя метода Foo из самого вызова метода (то есть как-то GetMethodName (blahInstance.Foo ())).

1 Ответ

7 голосов
/ 07 апреля 2009

В данный момент у меня нет под рукой VB.NET, но в C # я думаю, что это ответ. Это выглядит примерно как то, что вы ищете? Если так, то синтаксис VB.NET должен быть относительно простым для разработки:

     Blah blahInstance = new Blah();
     System.Action fooFunc = blahInstance.Foo;
     Console.WriteLine(fooFunc.Method.Name);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...