О | статьи | услуги | Программное обеспечение | Контактная информация

Последние поступления Free Software SharePoint

АРБ Security Solutions регулярно выпускает бесплатное программное обеспечение SharePoint, в том числе WebParts, клиентские приложения, Рамочная расширений, а также другие разнообразные компоненты.
Последняя является бесплатным:

Название: Простые SharePoint накопительный пакет WebPart
Дата публикации: 10/22/2009

Предыдущие два бесплатных WebPart-релизы:

SecureCenter для SharePoint

По интеграторы SharePoint безопасности, интеграторы SharePoint безопасности.

SharePoint Security Assurance Программа ™

За внешне сталкивается SharePoint развертывания, безопасности, является важным развертывания острой озабоченности. Узнайте, как посредством ежедневного сканирования, вы можете обеспечить внешние бизнес-пользователей и партнеров, что они могут сотрудничать в доверие!

Обеспечение безопасности WebPart:



MethodBase без отражения

Один из моих друзей сегодня рано утром (слишком рано, если вы спросите меня. Он берет меня Lil Bit, чтобы получить мой двигателей продолжается) спросил меня о получении настоящее выполнение метода информации. Ну, это довольно легко, правда? Мы System.Reflection, которая позволяет нам заглянуть в текущем коде информацию так, как получение методами имя в виде строки.
Мы просто сделать:

C #:
  1. . MethodBase . GetCurrentMethod ( ) Система. Отражение. MethodBase. GetCurrentMethod ()

Бам, у нас есть имя текущего метода. Но он хотел сделать это без отражения.
Ну, мы должны сделать что одной строки кода немного больше, учитывая, что ограничения, но в действительности это не так уж сложны. Мы знаем, что для каждого метода, который выполняется в произвольной потока у нас будет один из этих объектов StackFrame что прижимается к базе стека динамические структуры данных (т.е. мы Push StackFrame новый объект на Callstack). Те StackFrame объекты содержат всевозможные удовольствия информацию, и эта информация может быть извлечены и использованы по какой-либо интриги целью вы имеете в виду. Но помните, что многие методы информация содержится в файле отладки, поэтому, когда вы переходите на выпуске версии можно ускользают некоторые данные, которые вы для допроса.
Таким Во-первых, давайте производить новый объект StackFrame:

C #:
  1. ; StackFrame stackFrame = новый StackFrame ();

Теперь у нас есть StackFrame объект, и мы знаем, что StackFrame содержит всевозможные MethodBase информацию, которая может быть использована для гарнира информацию от.
Итак, давайте делать некоторым увлажняющим MethodBase:

C #:
  1. ; StackFrame stackFrame = новый StackFrame ();
  2. ; MethodBase MethodBase = stackFrame. GetMethod ();

Теперь, когда вы получили те, готовые идти, вы можете начать получать все самое интересное информация!
Например:

C #:
  1. ; StackFrame stackFrame = новый StackFrame ();
  2. ; MethodBase MethodBase = stackFrame. GetMethod ();
  3. ; Строка MethodName = MethodBase. Имя;
  4. ; BOOL isStaticMethod = MethodBase. IsStatic;
  5. ; BOOL isPublicMethod = MethodBase. IsPublic;

READY TO GO! :)

  • Социальные закладки

3 Комментариев »

  1. "Но он хотел сделать это без Отражение"

    Так что же мы предположим StackFrame используется внутри чтобы получить эту информацию?

    Если это для "образовательных целях" Я предполагаю, что это справедливый вопрос, но я бы выбрал System.Reflection.MethodBase.GetCurrentMethod ()
    в любой день, прежде чем использовать StackFrame.

    / Jonas

    Комментарии Йонаса - 7 Май, 2008 @ 1:52 вечера

  2. [...] MethodBase без размышлений - Адам Buenz показывает альтернативную методику получения в MethodBase с помощью кадров стека. Я подвергаю сомнению, если это действительно отражение бесплатно - Я подозреваю, стека является использование Reflection - но оно иллюстрирует полезной функциональности stackframe. [...]

    Pingback от Reflective Перспектива - Крис Alcock »The Morning Brew # 89 - 8 мая 2008 @ 12:35 утра

  3. Спасибо! Это помогло мне greately. Мне нужно написать кусок кода, который показал бы мне, где процедура запускается с и я сделал это, создав своего рода вспомогательный метод StackTrace.
    Джордж

    Замечание Джорджа C # - 23 декабря 2008 @ 8:35 утра

RSS-канал для комментариев на эту должность. TrackBack URL

Оставить комментарий