Джош Смит имеет хорошую статью об использовании DynamicObject, чтобы сделать это здесь
В основном это связано с наследованием от DynamicObject и последующим подключением к TrySetMember. CLR 4.0, к сожалению, хотя это может быть возможно и с использованием ContextBoundObject в более ранних версиях, но это, вероятно, повредило бы производительность, в основном для удаленных \ WCF.
Вы можете рассматривать ГОЛОВУ как «текущую ветвь». Когда вы переключаете ветки с помощью git checkout
, версия HEAD изменяется и указывает на конец новой ветки.
Вы можете увидеть, на что указывает HEAD, выполнив:
cat .git/HEAD
В моем случае вывод:
$ cat .git/HEAD
ref: refs/heads/master
HEAD может ссылаться на конкретную ревизию, которая не связана с именем ветки. Эта ситуация называется отдельной ГОЛОВКОЙ .