Du code dans les billets

Il semble que le blog réinterprète correctement les balises de code.

public class MonObjet
{
    private string toto;
    public string Toto
    {
        get
        {
            return toto;
        }
        set
        {
            toto = value;
        }
    }
}

Il faut être attentif, parfois les «  » ne sont pas pris en compte correctement. Le code ci-dessous
CodeHtml
donne ceci:

<div>
    <div>
        <label>Name:</label>
        <input type="text" ng-model="yourName" placeholder="Enter a name here" />
        <hr />
        <h1>Hello !</h1>
    </div>
</div>

Voici deux liens pratiques:

A+

CS1061: ‘Object’ does not contain a definition for ‘Title’ and no extension method…

C’est la vilaine erreur de compilation que je recevais en lançant une application MVC 4 toute neuve:

CS1061: 'PingIt.Models.HomeModel' does not contain a definition for 'Title' and no extension method 'Title' accepting a first argument of type 'PingIt.Models.HomeModel' could be found (are you missing a using directive or an assembly reference?)

Une petite recherche sur le Net et je suis tombé sur cette réponse.
Le système de fichiers du projet MVC dispose de deux « web.config ». Le premier est à la racine du site, le deuxième dans le dossier des vues.
Arborescence
Ce dernier comporte une section dédiée à « Razor » dans laquelle on trouve une liste d’espace de nommage à importer. Il manque celui de Razor: « System.Web.Razor ». Ajoutez le et le bug disparaît.
RazorConfigSection

Affichez un extraterrestre dans une console

Hello,
J’ai déjà posté ce bout de code dans la taverne mais je le recolle ici pour le garder précieusement. C’est juste sentimental :)

public class ByeBye
{
    public ByeBye(int lap)
    {
        Console.Clear();
        int h = 9;
        int w = 15;
        int WH = Console.WindowHeight - h;
        int WW = Console.WindowWidth - w;
        string lines = string.Empty;

        for (int i = 0; i &lt; WH; i += h)
        {
            for (int k = 0; k &lt; WW; k++)
            {
                Console.WriteLine(lines);
                DrawInvader(k);
                Thread.Sleep(lap);
                Console.Clear();
            }
            AddBlankLines(h, ref lines);
            Console.Clear();
        }
    }

    #region PRIVATE MEMBERS

    private static void AddBlankLines(int nb, ref string lines)
    {
        for (int j = 0; j &lt; nb; j++)
        {
            lines += &quot;\r\n&quot;;
        }
    }

    private static void DrawInvader(int left)
    {
        string tabs = string.Empty;
        for (int i = 0; i &lt; left; i++)
        {
            tabs += &quot; &quot;;
        }
        Console.ForegroundColor = ConsoleColor.Green;
        StringBuilder sb = new StringBuilder();

        if (left % 2 == 0)
            Even(sb, tabs);
        else
            Odd(sb, tabs);

        Console.Write(sb.ToString());
        Console.ResetColor();
    }

    private static void Even(StringBuilder sb, string tabs)
    {
        sb.AppendFormat(&quot;{0}   #       #   \r\n&quot;, tabs);
        sb.AppendFormat(&quot;{0}    #     #    \r\n&quot;, tabs);
        sb.AppendFormat(&quot;{0}  ###########  \r\n&quot;, tabs);
        sb.AppendFormat(&quot;{0} ### ##### ### \r\n&quot;, tabs);
        sb.AppendFormat(&quot;{0}###############\r\n&quot;, tabs);
        sb.AppendFormat(&quot;{0}# ########### #\r\n&quot;, tabs);
        sb.AppendFormat(&quot;{0}#  #       #  #\r\n&quot;, tabs);
        sb.AppendFormat(&quot;{0}    ##   ##    \r\n&quot;, tabs);
    }

    private static void Odd(StringBuilder sb, string tabs)
    {
        sb.AppendFormat(&quot;{0}   #       #   \r\n&quot;, tabs);
        sb.AppendFormat(&quot;{0}    #     #    \r\n&quot;, tabs);
        sb.AppendFormat(&quot;{0}# ########### #\r\n&quot;, tabs);
        sb.AppendFormat(&quot;{0}#### ##### ####\r\n&quot;, tabs);
        sb.AppendFormat(&quot;{0}###############\r\n&quot;, tabs);
        sb.AppendFormat(&quot;{0}  ###########  \r\n&quot;, tabs);
        sb.AppendFormat(&quot;{0}   #       #   \r\n&quot;, tabs);
        sb.AppendFormat(&quot;{0} ##         ## \r\n&quot;, tabs);
    }

    #endregion
}

Voici un aperçu du rendu:
Rendu

Convertir une chaîne de caractères en son énumération

C’est assez pratique et on n’y pense pas toujours alors je le mets ici.

Mettons l’énumération ci-dessous:

public enum MonEnum
{
    // Définition d'une valeur par défaut en lui associant la valeur numérique "0"
    Zero = 0,
    Un = 1,
    Deux = 2,
    Trois = 3
}

Comment obtenir la valeur correspondant à la chaîne de caractères suivante: « Deux »? Tout simplement ainsi:

class MaClass
{
    public static MonEnum GetEnum(string p)
    {
        var obj = default(MonEnum);

        if (Enum.IsDefined(typeof(MonEnum), p))
        {
            obj = (MonEnum)Enum.Parse(typeof(MonEnum), p);
        }

        return obj;
    }
}

Attention, la méthode « Enum.IsDefined(Type enumType, object value) » est sensible à la casse.

Voici comment en faire une méthode générique:

Désolé, le blog convertit les signes « supérieur » et « inférieur ». Je vous mets ce code sous forme d’image…

A+

Modifiez un peu le style de votre blog

Re,
Après une petite prise en main, j’ai réussi à modifier quelques balises du style du blog. Si vous voulez faire pareil, allez dans les réglages > CodeColorer > Styles CSS personnalisés et surchargez les classes du style. Voici ce que j’ai modifié:

div.contenuPage
{
    padding: 0px;
}
div.contenuPage div#page.hfeed header#branding nav#access
{
    background: linear-gradient(#252525, #4A638F) repeat scroll 0 0 transparent;
}
div.contenuPage div#page.hfeed header#branding div.only-search form#searchform input#s.field
{
    background-color: #FFFFFF;
}
div.contenuPage div#page.hfeed
{
    margin: 0px;
    max-width: 100%;
}
div.contenuPage div#page.hfeed div#main div#primary
{
    float: left;
    margin: 0px;
    width: 78%;
}
div.contenuPage div#page.hfeed div#main div#secondary
{
    float: right;
    margin-right: 0px;
    width: 18%;
}
div.contenuPage div#page.hfeed div#main div#primary div#content
{
    width: 91%;
    margin-left: 9%;
}
div.contenuPage div#page.hfeed div#main div#primary div#content nav#nav-single
{
    display: none;
}
div.contenuPage div#page.hfeed div#main div#primary div#content article header.entry-header
{
    height: 60px;
}
div.contenuPage div#page.hfeed div#main div#primary div#content article header.entry-header h1.entry-title
{
    font-weight: normal;
}
div.contenuPage div#page.hfeed div#main div#primary div#content article header.entry-header div.entry-meta
{
    height: 75px;
    left: -83px;
    padding-right: 0;
    position: relative;
    top: -50px;
    width: 72px;
}
div.contenuPage div#page.hfeed div#main div#primary div#content article header.entry-header div.entry-meta span.sep
{
    display: none;
}
div.contenuPage div#page.hfeed div#main div#primary div#content article header.entry-header div.entry-meta a
{
    display: block;
    font-size: 0.9em;
    font-weight: bold;
    text-align: center;
}
div.contenuPage div#page.hfeed div#main div#primary div#content article div.entry-content
{
    padding-top: 0px;
}
div.contenuPage div#page.hfeed div#main div#primary div#content article div.entry-content div.codecolorer-container
{
    width: 100%;
}
div.contenuPage div#page.hfeed div#main div#primary div#content article div.entry-content div.codecolorer-container table tbody tr td.line-numbers
{
    width: 35px;
}
div.contenuPage div#page.hfeed div#main div#primary div#content article div.entry-content div.codecolorer-container table tbody tr td.line-numbers div
{
    text-align: right;
    width: 30px;
}
div.contenuPage div#page.hfeed div#main div#primary div#content article div.entry-content div.codecolorer-container table tbody tr td div.codecolorer
{
    overflow-x: hidden;
    padding-top: 0px;
}
div.contenuPage div#page.hfeed div#main div#primary div#content article div.entry-content div.codecolorer-container table tbody tr td.line-numbers div
{
    vertical-align: top;
}

Qu’en pensez-vous? N’est-ce pas un peu mieux de profiter de toute la largeur de la fenêtre?

A+