2012-01-10 1 views
0

Итак, я смотрю проект с некоторым примером кода.Does MemberhipUser "GetUser()" вызывает перегрузки С параметрами?

И главная страница веб-сайта вызывает MembershipUser.GetUser(); - переводит ее в настраиваемый тип.

В предоставленном классе CustomMembershipProvider.cs исходные программисты написали функции переопределения для GetUser (имя пользователя строки, bool userIsOline) и GetUser (object providerUserKey, bool userIsOnline).

Но они никогда не записывали переопределение для GetUser() с нулевыми или пустыми параметрами по умолчанию ..... ???

Итак, вы бы предположили, что GetUser возвращает свойства MembershipUser, но вместо этого возвращает данные, записанные в пользовательских переопределениях --- как это возможно?

Единственное объяснение, которое у меня есть, это то, что функция MembershipUser.GetUser() по умолчанию отменяет GetUser (имя пользователя, userIsOnline) или GetUser (providerUserKey, userisOnline). Но это нигде не документировано.

Верно ли это? Потому что нет, где в образце кода я могу найти это переопределение GetUser(), а переопределенные GetUser() не имеют параметров по умолчанию.

ответ

1

Да, так оно и есть.

С Рефлектор

public static MembershipUser GetUser() 
{ 
    return GetUser(GetCurrentUserName(), true); 
} 
+0

Хорошая находка, Интересно, где я могу найти этот материал. Кроме того, откуда он получает текущее имя пользователя? Я даю ему только текущий идентификатор пользователя. – Dexter

+0

скачать рефлектор http://www.reflector.net/, его должен иметь инструмент –