Публикация исходного кода в блоггере - неудача с контейнерами C # - PullRequest
1 голос
/ 03 мая 2010

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

В частности, объявление общих контейнеров представляется наиболее проблематичным. Смотрите примеры кода в моем блоге: http://mlai -lirik.blogspot.com / , в частности, раздел, в котором я объявляю словарь.

Я хочу отобразить это:

static Dictionary<int, List<Delegate>> _delegate = new Dictionary<int,List<Delegate>>();

Но блоггер публикует это:

static Dictionary<int, list=""><delegate>> _delegate = new Dictionary<int, list=""><delegate>>();

И конец моего раздела кода ограничен этим:

</delegate></delegate></int,></delegate></int,>

Очевидно, блоггер считает, что часть словаря <int и <delegate> - это своего рода HTML-теги, и он автоматически пытается закрыть их в конце фрагмента кода. Кто-нибудь знает, как обойти эту проблему?

Обновление:
Я использовал решение CraftyFella http://www.craftyfella.com/2010/01/syntax-highlighting-with-blogger-engine.html, и оно вызывает вышеуказанные проблемы (т. Е. Его решение не работает для фрагментов кода, которые я разместил).

Я также пытался обернуть мои фрагменты кода тегами <code>, но это тоже не сработало. Результаты были также разочаровывающими: Dictionary<int, List<string>> test = new Dictionary<int, List<string>>(); превращается в Dictionary> test = new Dictionary>();

Ответы [ 2 ]

2 голосов
/ 03 мая 2010

Я заменил все < на &lt; и получил это . (На самом деле, я использую такой же трюк на SO).

1 голос
/ 03 мая 2010

Что вам нужно сделать, это кодировать вашу программу в HTML. Сначала замените все & на &amp;, затем замените все < на &lt; и > на &gt;. Хотя самый последний не обязателен, чтобы заставить его работать, я думаю, что это лучше для правильности.

...