У меня есть одиночный элемент, которые когда-то совершают нападки, загрузит информацию о профиле пользователя, я хочу сделать ее ресурсом прикладного уровня в моем приложении SL3 так, чтобы элементы через приложение могли связать с нею.
Моя версия кода instantiaion является простым
UserProfile x = UserProfile.GetInstance();
Я хочу смочь сделать это в xaml в app.xaml файле и в WPF, у нас есть ObjectDataProvider, таким образом, я могу выразить что-то как
<ObjectDataProvider MethodName="GetInstance"
ObjectType="{x:Type local:UserProfile}" x:Key="CurrentUserProfile"/>
Я изо всех сил пытаюсь найти правильную реализацию для этого в SL3.
Как вы указываете, Silverlight не имеет ObjectDataProvider
. Если вам нужна функция, которую он предоставляет, например, ленивая инстанцинация, то вам нужно построить свой собственный класс для работы с ним. Если вам на самом деле не нужны эти возможности, просто добавьте экземпляр UserProfile
в App.Resources
при запуске:-
private void Application_Startup(object sender, StartupEventArgs e)
{
Resources.Add("CurrentUserProfile", UserProfile.GetInstance());
RootVisual = new MainPage();
}
Возможно, наиболее эффективным решением будет «рисование» направляющих отступов. с помощью подсветки соответствия. Чтобы понять, как это помогает, посмотрите на следующий пример:
:match Search /\%(\_^\s*\)\@<=\%(\%1v\|\%5v\|\%9v\)\s/
Он подсвечивает (используя группу выделения поиска, можно использовать любую другие, конечно) первый, пятый, девятый (и его можно продолжить) виртуальный столбец, занятый символом пробела, не предшествующим ничего, кроме пробела из начало строки. Таким образом, это приводит к выделению 4-пространственного отступа для трех уровней в глубине.
Для обобщения этой идеи остается только генерировать такие образцы, как
упомянутый выше в соответствии с шириной текста
текущего буфера и шириной сдвига
(для обработки более глубоких уровней отступов и надлежащей ширины отступов). Эта задача может быть
просто автоматизировано, как показано в функции ниже.
function! ToggleIndentGuides()
if exists('b:indent_guides')
call matchdelete(b:indent_guides)
unlet b:indent_guides
else
let pos = range(1, &l:textwidth, &l:shiftwidth)
call map(pos, '"\\%" . v:val . "v"')
let pat = '\%(\_^\s*\)\@<=\%(' . join(pos, '\|') . '\)\s'
let b:indent_guides = matchadd('CursorLine', pat)
endif
endfunction
Каждый раз, когда вам нужны направляющие отступа в буфере, его можно включить с помощью
: вызовите TogâIndentGuides ()
. Конечно, можно изменить группу выделения
(или создайте специальный для использования только в направляющих отступов), настройте удобный
сопоставление 1 для этого и/или вызов его из autocmd
для некоторого файла
типы.
1 Направляющие отступов, выделяющие конфигурацию из .vimrc
file: https://gist.github.com/734422
То, что вы описываете, не поддерживается средством генерации javadoc.
И я думаю, что есть веская причина для этого тоже:
Если ваш метод в подклассе является просто реализацией абстрактного метода, то я думаю, что было бы правильно оставить абстрактное имя класса там.
На оборотной стороне, если ваш метод в подклассе является не просто реализацией, и делает нечто большее, что заслуживает внимания (достаточно, чтобы быть упомянутым в javadoc), то вы должны написать новый javadoc на метод в подклассе, вместо вызова inheritDoc.
-121--1178125-Silverlight не имеет ObjectDataProvider .
При этом можно использовать DataContext объекта Silverlight.....
Application.DataContext = UserProfile.GetInstance();