Sample

文字列にサフィックスを付与。

頻出。コピペ用とか。 static string AppendSuffix( string suffix, IEnumerable<string> list ) { return string.Join(suffix, list); }</string>

Thread を簡単に使う。

引数取れないしめんどいよねっていう何か。 class ThreadHelper { private readonly Delegate _execute; private readonly Delegate _callback; private object[] _args; public ThreadHelper ( Delegate execute ) : this( execute, null ) { } public Thre…

デリゲートを使ったテンプレート

ある処理の最初と最後は共通なんだけど。とかいったときに。 /// <summary> /// テンプレート実行。 /// </summary> /// <param name="func">実行対象デリゲート。</param> /// <param name="args">デリゲートに渡す引数。</param> /// <returns>実行結果。</returns> public static object Execute( Delegate func, params object[] args ) { try { return…

共有フォルダ一覧取得 WMI版

WMIで書き直してみた。ユーザ認証も含んでる。こっちのほうが断然短い。 /// <summary> /// 指定されたサーバの共有フォルダ一覧を取得します。 /// </summary> /// <param name="serverPaht">サーバ名。</param> /// <param name="user">接続ユーザ名。</param> /// <param name="password">接続パスワード。</param> /// <returns>取得された共有フォルダの一覧。</returns> public static List<string></string>…

共有フォルダ一覧を取得。

Directory.GetFiles()では共有フォルダの一覧が取れない。(共有フォルダの中身は取れる) 共有フォルダの一覧を取るには NetShareEnum を使う。 public class NetShare { const int NERR_Success = 0; const uint MAX_PREFERRED_LENGTH = 0xFFFFFFFF; enum …

UTF-8 の文字列をサイズで区切る。

/// <summary> /// Utf8 エンコードされたバイト文字列を指定されたサイズ以下にの適切な区切り位置を取得します。 /// </summary> /// <param name="buffer">Utf8 エンコードされたバイト文字列。</param> /// <param name="size">区切りサイズ。</param> /// <returns>取得された区切り位置。</returns> static int GetUtf8SplitIndex( byte[] buffer, int …

シリアライズ

シリアライズ形式 XmlSerializer SoapFormatter(System.Runtime.Serialization.Formatters.Soap) BinaryFormatter /// <summary> /// Xml テキスト取得。 /// </summary> /// <param name="obj">対象オブジェクト。</param> /// <returns>取得された Xmlテキスト。</returns> private static string ToXmlText( object obj ) {…

お手軽非同期

/// <summary> /// お手軽非同期 /// </summary> public class EasyAsync { /// <summary> /// 終了イベント /// </summary> static public event EventHandler Finished; /// <summary> /// 開始イベント /// </summary> static public event EventHandler Starting; /// <summary> /// 指定されたメソッドを非同期で実行します</summary>…