Каков лучший источник информации о ДОЛЛАРЕ (.NET 4,0 беты 1)?

Я только что попробовал следующее в linqpad:

System.Web.Security.Membership.GeneratePassword(25, 10)

Вот пароль, который я получил:

[XTJ_67g.i/ag1rL)6_Yv>*+%

Или, если это недостаточно надежно, попробуйте следующее:

System.Web.Security.Membership.GeneratePassword(128, 100)

что дало мне следующее, когда я выполнил это три раза:

|c^.:?m)#q+(]V;}[Z(})/?-;$]+@!|^/8*_9.$&.&!(?=^!Wx?[@%+&-@b;)>N;&+*w[>$2+_$%l;+h+#zhs^{e?&=*(}X_%|:}]]}*X[+)Er%J/-=;Q0{:+=%c7:^$

/:_)hxF+*){2|;(>:*N^+!_&|}B.$})?[V=[+v({-:-@9-Z$j?.[-}(@MHx+}(}Mz_S(7#4}{..>@G|!+++{+C=|_}=+r^@&$0;L*|kz-;$++/N3$=}?;%&]]*/^#^!+

:*{]-x^$g{|?*))_=B@^.#%L;g|+)#[nq}?y(_(m;]S^I$*q=l-[_/?}&-!k^(+[_{Z|&:^%!_)!=p%=)=wYd-#.UP$%s1{*l%+[%?!c+7=@=.;{+M)!^}&d/]{];(&}

это заняло намного меньше секунды, btw. Фреймворк - ваш друг.

См. http://msdn.microsoft.com/en-us/library/system.web.security.membership.generatepassword.aspx

22
задан Jon Skeet 31 May 2009 в 14:39
поделиться

3 ответа

Лучший источник, который я находил и часто читаю, - это сообщения Криса Берроу за последние годы в его блоге .

Также есть официальная документация DLR страница , которая находится за пределами основного сайта DLR .

23
ответ дан 29 November 2019 в 05:16
поделиться

Я тоже сейчас изучаю этот вопрос, и информации пока не так много. Я не могу помочь с вашим запросом, но ниже я нашел некоторую информацию:

В видеороликах PDC довольно много.

http://channel9.msdn.com/pdc2008/TL44/

http: //channel9.msdn.com/pdc2008/TL10/

В этой статье рассказывается о том, как DLR работает с IronPython: http://msdn.microsoft.com/en-us/magazine/cc163344.aspx

В предварительном просмотре учебного комплекта по адресу http://www.microsoft.com есть очень небольшая сумма. /downloads/details.aspx?FamilyID=752cb725-969b-4732-a383-ed5740f02e93&displayLang=en

Надеюсь, это поможет

Алекс

5
ответ дан 29 November 2019 в 05:16
поделиться

По умолчанию DynamicObject скажет «возврат к отражению», если ваши функции Try * вернут false. Таким образом, вы уже можете наследовать и добавлять свойства / поля / методы к своему подклассу, которые все будут обрабатываться отражением, если динамический путь не выполняет поиск.

Если углубиться, вы, возможно, захотите взглянуть на IDynamicMetaObjectProvider. На этом более низком уровне способ возврата к отражению - это вызов метода Fallback * для входящего DynamicMetaObjetBinder. Затем это позволяет вызывающему языку предоставить разрешение. Затем вы можете вернуть этот AST или составить его в более крупный AST, который вы возвращаете. В основном Fallback * позволяет вам получить AST, который будет выдавать вызывающий язык, включая правильную ошибку (исключение, undefined в JS и т. Д.).

Способ, которым DynamicObject выполняет возврат к отражению, состоит в том, что он фактически дважды вызывает метод Fallback * связующего объекта. В первый раз он возвращается без параметра errorSuggestion. Это вызывает либо ошибку, либо AST, построенный с использованием отражения. Затем он создает AST, который выглядит примерно так:

if(TryGetMember("name", out value)) {
   return value;
} else {
   return resultOffallback;
}

Затем он берет этот объединенный AST и фактически передает его в качестве предложения об ошибке для связующего при втором резервном копировании. Связующее должно тогда учитывать это errorSuggestion, если привязка не удалась. Но если присутствует член .NET, errorSuggestion отбрасывается, и привязка .NET имеет приоритет. И, наконец, если язык не знает, было ли связывание успешным (например, в языке есть функция типа «отсутствует метод»), он может снова объединить AST с динамическими проверками.

3
ответ дан 29 November 2019 в 05:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: