코드를 예쁘게 보이게 하기위해 Syntax highlighting을 붙혔습니다.


적용하는 방법은 아래 링크를 참고하시면 됩니다.

http://mclass.tistory.com/54



그런데, 어떤 소스코드를 붙히니까 자꾸 </t>가 붙더군요.

첨에 왜 그러지..했는지 확인해보니. HTML모드를 하고서는 소스코드 내용에 '<' '>' 문자가 문제였더군요.

HTML모드에서는 < > 문자는 태그로 인식되어서 그랬던 것이었습니다.


해서 강제로 < 는 &lt;   > 는 &gt; 로 바꾸고 등록했습니다.

&는 &amp; , 빈공백은 &nbsp;로 해줘야겠지만 그러한 문자는 없어서 패스했습니다.



즉 태그 내용 등록시 아래처럼 말이죠.



<pre class="brush: csharp">

using System.ComponentModel;


namespace RxTestWinForm

{

    public static class ControlExtension

    {

        /// &lt;summary&gt;

        /// T Type의 Delegate  선언

        /// &lt;/summary&gt;

        /// &lt;typeparam name="T"&gt;T타입&lt;/typeparam&gt;

        /// &lt;param name="obj"&gt;Invoke 할 컨트롤 &lt;/param&gt;

public delegate void RunOnUIThreadDelegate&lt;T&gt;(T obj) where T : ISynchronizeInvoke;

        /// &lt;summary&gt;

        /// ISynchoronizeInvoke 인터페이스 구현체 대한 RunOnUIThread확장 메소드

        /// &lt;/summary&gt;

        /// &lt;typeparam name="T"&gt;T타입, 캐스팅을 피하기 위해 사용&lt;/typeparam&gt;

        /// &lt;param name="obj"&gt;메소드 확장할 컨트롤&lt;/param&gt;

        /// &lt;param name="action"&gt;수행할 Action&lt;/param&gt;

        public static void RunOnUIThread&lt;T&gt;(this T obj, RunOnUIThreadDelegate&lt;T&gt; action)

            where T : ISynchronizeInvoke

        {

            if (obj.InvokeRequired)

            {

                obj.Invoke(action, new object[] { obj });

            }

            else

            {

                action(obj);

            }

        }

    }

}

</pre>





그런데 이렇게 안하고, 그냥, 아래 코드로 먼저 HTML 에서 입력하고 난 뒤,


<pre class="brush: csharp">

</pre>


에디트 모드로 돌아가면 회색 사각형이 보이는데, 거기서 그냥 코드 입력하면, 굳이 위에 처럼 귀찮게 문자 바꾸지 않고도

잘 등록이 되더군요.



위 화면에서 바로 코드를 입력하면 됩니다.

+ Recent posts