2009-03-01から1ヶ月間の記事一覧

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

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

ユーザの偽装。

http://d.hatena.ne.jp/fezg00/20090326/1238067327 でユーザがログインユーザと違うユーザでのアクセス時に必要。http://d.hatena.ne.jp/fezg00/20090409

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

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

oracle文字化け対応

oracle の文字化け対応はクライアント側での対応不備らしい。 sqlplus ならクライアントの環境に合わせて NLS_LANG を設定。 dos コンソールなら shift-jis だな。 set NLS_LANG=Japanese_Japan.JA16SJIS DB 側の環境に合わせるものかと思ってはまった。それ…

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

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

デザインモードの判別方法。

デザインモード時は devenv.exe から呼び出されるアセンブリで判断。true でデザイン。(8.58) Assembly.GetCallingAssembly().GetType(this.GetType().ToString()) == null false でデザイン。(5.02 * 100) Assembly.GetCallingAssembly().GetTypes()[0].Equ…

source といえば

destination

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 ) {…

.Net で標準出力をリダイレクト

ついでに using( MemoryStream ms = new MemoryStream() ) { using( StreamWriter sw = new StreamWriter( ms ) ) { Console.SetOut( sw ); // sw にリダイレクト Console.Write( "hoge" ); // 以下はおまけ sw 使って適当に。 sw.Flush(); ms.Position = 0;…

DOS でコンソールメッセージ(標準出力)を出力しない。

誰だ NULL にリダイレクトとか嘘書いてるやつは。 ErrorPrint.exe > NUL 標準出力を抑制。 標準エラー出力のみ出したいときはこれ。

標準エラー出力

標準エラー出力に出力する。 Console.Error.WriteLine( "Error!!" ); Console.Error.Close(); Close は要るのだろうか。要らない気もするが。 でも、Cosole クラスでなくて Console.Error は TextWriter だからなー。

Entity Framework

Oracle で Entity Framework http://blogs.msdn.com/jkowalski/archive/2008/10/24/using-ef-oracle-sample-provider-with-edm-designer.aspxもうあるのかと思ったらまだサンプルだった。

WCF設定

client -> service設定とクラスの紐付き方■server の場合 クラス - service.name - service - endpoint(内包) service - service.behaviorConfiguration - behavior.name ■client の場合 クラス(サービス参照.interface) - endpoint.contract endpoint - e…

お手軽非同期

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

sandcastle

sandcastle コメントからドキュメント作成 http://blogs.msdn.com/sandcastle/default.aspx http://sandcastle.codeplex.com/ Sandcastle Help File Builder http://www.codeplex.com/SHFB

Plug-in

http://msdn.microsoft.com/en-us/vsx/bb980955.aspx http://msdn.microsoft.com/en-us/library/microsoft.visualstudio.package(VS.80).aspx

log4net イベントログ設定

<root> <level value="ALL" /> <appender-ref ref="EventLogAppender"/> </root> <appender name="EventLogAppender" type="log4net.Appender.EventLogAppender"> <filter type="log4net.Filter.LevelRangeFilter"> <levelMin value="ERROR" /> <levelMax value="FATAL" /> </filter> </appender>