Archive pour la catégorie 'C#'

Ajouter des commentaires exploitables avec NDOC en C#

Tuesday 23 January 2007

/// <summary>
/// Description de la méthode
/// </summary>
/// <remarks>
/// Remarques concernant cette méthode
/// <seealso cref="System.String"/>
/// </remarks>
/// <param name="pValue">Pour chaque paramètre, le décrire comme ici</param>
/// <returns>Indiciation sur la valeur retournée</returns>
/// <example><code>Exemple d'utilisation de cette méthode</code></example>
private bool IsEmpty(Glass myGlass) {
// Code de la méthode
}

De cette manière, lorsque vous utiliserez votre méthode ailleurs dans le code, Visual Studio vous affichera le summary.
Si vous utilisez NDoc, il vous créera une documentation similaire à la MSDN de Microsoft pour votre application.

PS : On aime ou pas la présentation de la MSDN, c’est quand même mieux que rien ;-)

Unix Timestamp en C# (compatible avec time() en PHP)

Thursday 7 December 2006

Actuellement : secondes écoulées depuis l’époque Unix (01/01/1970 00:00:00 UTC).

C#:
  1. <br />
  2. public int GetUnixTimeStamp()<br />
  3. {<br />
  4.        TimeSpan ts = DateTime.UtcNow - new DateTime(1970,1,1,0,0,0);<br />
  5.        return (int)ts.TotalSeconds;<br />
  6. }<br />

Meilleurs outils gratuits pour développer en C#

Tuesday 5 December 2006
  • Editeurs (IDE) :
    • MonoDevelop : interface de développement complète pour Linux (et Windows à cette adresse-ci) pour programmer dans les différents langages du dot net.
    • Ankh : Plugin pour Visual Studio qui permet d’intégrer le système de contrôle de version Subversion sous Visual Studio.
    • WebMatrix : Plateforme gratuite de Microsoft pour faire de l’ASP.NET. Pas d’autocomplétion…
    • Delphi 2005 Personnal Edition : Version gratuite mais personnelle du célèbre Delphi 2005. Permet de programmer entre autre en C#.
    • SharpDevelop : Autre éditeur gratuit et opensource mais uniquement pour Windows.
  • Anti-décompilateurs (Obfuscator):
    • DotFuscator : Outil gratuit de Microsoft permet de rendre plus complexe la décompilation d’un exécutable écrit avec un des langage du dot net.
  • Documentation :
    • NDoc : Génère à partir des fichiers XML créés à la compilation une documentation du style de la MSDN.
  • Profiler :
    • NProf : Profiler gratuit et opensource. Génial pour améliorer les performances de son application et détecter les memory leak.
  • Tests :
    • NUnit : Librairie pour effectuer des tests automatisés sur ses applications.
  • Log :
    • Nlog : Librairie qui permet de logger les erreurs et de débugger les applications, site web, etc…Dispose de différents niveaux d’alerte : trace, debug, info, warn, error, fatal. Les entrées peuvent être sauvegardées en bases de donnée, dans des fichiers ou encore envoyées par email.
  • Programmation mobile :
    • OpenNetCF : Framework pour développer plus facilement sur les mobiles, PDA et autres équipements du même style.

Equivalent des MsgBox en C#

Tuesday 5 December 2006

Il faut utiliser System.Windows.Forms.MessageBox et utiliser la méthode show()

Créer son propre serveur avec gestion de socket asynchrone en C#

Monday 4 December 2006

Sur la MSDN de Microsoft, vous trouverez un exemple de code pour créer son propre serveur avec gestion de socket asynchrone en C#. C’est un bon point de départ pour débuter son serveur. A conseiller.

Sources pour créer son propre proxy

Monday 4 December 2006

Mentalis nous propose les sources d’un proxy écrit en C#. Génial pour comprendre et éventuellement modifier le projet à sa sauce.

Classe C# pour envoyer des emails soit via un socket soit via un webservice

Monday 4 December 2006

Le projet Opensmtp sur Sourceforge nous propose tout cela. Très pratique pour pouvoir envoyer des emails lorsqu’un firewall d’entreprise bloque l’accès au port 25 par exemple.

Rendre un objet sérialisable en C#

Thursday 30 November 2006

Lorsqu’on utilise les webservice et qu’on passe en argument un objet, il faut qu’il soit sérialisable.
Pour cela, il suffit de rajouter au dessus de la classe : [Serializable()].
C’est aussi simple que cela.

Localiser géographiquement une adresse IP via des API pour PHP, Python, Java, C#, Perl…

Saturday 25 November 2006

MaxMindGeoIP fournit sous licence GPL une base de donnée permettant de localiser la ville et le pays d’une adresse IP. Ils fournissent également des API dans différents langages pour effectuer le calcul.

La fiabilité de la version gratuite est de 97% pour le pays et de 60% pour les villes dans un rayon de 40km aux Etats-Unis…Une nouvelle version de la base de donnée parait le premier de chaque mois.

Petite démonstration :
if(!ereg(’feed’,$_SERVER[”REQUEST_URI”]))
{
include_once(”./wp-content/scripts/geoipcity.inc.php”);

function getip() {
if (isSet($_SERVER)) {
if (isSet($_SERVER[”HTTP_X_FORWARDED_FOR”])) {
$realip = $_SERVER[”HTTP_X_FORWARDED_FOR”];
} elseif (isSet($_SERVER[”HTTP_CLIENT_IP”])) {
$realip = $_SERVER[”HTTP_CLIENT_IP”];
} else {
$realip = $_SERVER[”REMOTE_ADDR”];
}
} else {
if ( getenv( ‘HTTP_X_FORWARDED_FOR’ ) ) {
$realip = getenv( ‘HTTP_X_FORWARDED_FOR’ );
} elseif ( getenv( ‘HTTP_CLIENT_IP’ ) ) {
$realip = getenv( ‘HTTP_CLIENT_IP’ );
} else {
$realip = getenv( ‘REMOTE_ADDR’ );
}
}
return $realip;
}

$gi = geoip_open(”./wp-content/scripts/GeoLiteCity.dat”,GEOIP_STANDARD);

$record = geoip_record_by_addr($gi,getip());
echo ‘ton adresse IP est : ‘.getip().’ et tu habites à ‘.$record->city.’ en ‘.$record->country_name;

geoip_close($gi);
}
?>.

Compiler en natif du code créé avec dot net

Tuesday 21 November 2006

Xenocode permet de compiler un exécutable dot net basé sur le CLR en code natif. Ceci permet, entre autre, de d’éviter que l’utilisateur aie à installé le dot net framework, par contre il ne pourra plus être utilisé avec Mono. Il complique en plus sérieusement la décompilation.