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+