C#
C#では次のcodeはcompile errorになります。 using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Sample { class Program { public delegate void MyAction<T>(T arg); static void Main(string[] args) { Acti</t>…
C++にはなかったReflection。 C#になってSerializeなんかで良く活躍するわけですが、 大量のインスタンスをReflectionを使って処理したりすると思いのほか時間がかかります。 そこでReflectionをなんとかして高速化しようというのが本日のエントリ。 NyaRuRu…
とかってネタで適当に何度かにわけて記事書こうかと思ってるわけですが、 だれか知りたい人いるのかな? ちなみに内容は、自分でVisualStudioみたいなUIデザイナを作るよ〜って話。 大雑把に書くとSystem.ComponentModelがらみやらSystem.ComponentMode.Design…
System.ComponentModel.CollectionEditorというクラスがあります。 PropertyEditorでコレクションの編集をするときに使うわけですが、 こいつには単にICollectionを実装したクラスを渡してもだめです。 MSDNには↓のように書かれています。 継承時の注意 この…
Dictionary.Enumerator>とかList.Enumeratorとかは IEnumerator,IEnumerator,IDisposableを実装したstructになっている。 なんで? なんでstructなんだ? ILレベルで見たときにcallvirtしなくてすむからかな?よくわからん。 謎だ。教えてエロイ偉い人!
既存のクラスの型コンバータを動的に拡張または置き換える方法を紹介します。 using System; using System.ComponentMode; using System.Drawing; namespace Test { static class Program { [STAThread] static void Main() { // Colorの型コンバータを動的…
IEnumerable<T>を実装するクラスで、 内部ではTでない別の型Uで保持しておきたいときがあるかも?と思ってちょっと作ってみた。 Genericsを使った実行時型生成をなんとなく使ってみたりしてる。</t>
DesignSurfaceというものがあるらしい。 これを使うとVisualStudioのデザイナみたいなのが簡単に作れる模様。 何かで使いたくなることがあるかもしれないのでメモ。 http://msdn.microsoft.com/msdnmag/issues/06/03/DesignerHosting/default.aspx
わんくま 東京勉強会 #3でεπιστημηさんも話していたgenericsとtemplateの違い。MSDN2に概要のページがあったのでメモ。 Microsoft previous versions of technical documentation | Microsoft Docs
↑の結論の実証コードを書いてみた。 string.emptyと""の参照比較を行うDLLを作る コンソールアプリを作り、最初にstring.Intern( string.Empty )する その後Assembly.LoadFromでDLLをロードして参照比較を行う コンソールアプリのコードは↓ using System; us…
string.Emptyと文字列リテラル""について参照比較をした場合の挙動が、 .NET Framework 1.1と2.0で異なることについて。 MSDNを引っ掻き回してみると、 string.Internに.NET Framework 1.1と2.0では インターンの仕様が変わったよと書いてある。 String.Inte…
CLR Hosting APIに関する資料メモ。 The Managed Hosting API – .NET Security Blog http://msdn.microsoft.com/msdnmag/issues/06/08/CLRInsideOut/default.aspx http://www.gotdotnet.com/team/clr/about_clr_Hosting.aspx Download Visual Studio 2005 Re…
d:id:crimsonwoods:20060726の日記のid:Ozyさんからのコメント 問題は、実行するプロセスが無限ループになるようなコードで、かつランタイムエラーが起こる場合に、プロセスが正しく終了しないためのようです。 について、 出力がflushされる前にプロセスが…
cygwinで使うgccのバージョンは次のとおり $ gcc -v Reading specs from /usr/lib/gcc/i686-pc-cygwin/3.4.4/specs Configured with: /gcc/gcc-3.4.4/gcc-3.4.4-1/configure --verbose --prefix=/usr -- exec-prefix=/usr --sysconfdir=/etc --libdir=/usr/l…
id:crimsonwoods:20060722 のソースにちょこっと追加してStdErrも取れるようにしてみた。 当方の環境(XP sp2, .NET Framework 2.0)だとまともに動いている。以下ソースコード
id:Ozyさんに触発されてちょっと実験してみた。CreatePipe,DuplicateHandle,CreateProcessをP/Invokeで呼び出して StreamReaderでStdOutputを読み出すというもの。以下ソースコード。
id:OzyさんがMSDNフォーラムに投げた質問。 これってピュアC#じゃないとだめなんだろうか? もしそうじゃなくてもOKなら、cmd.exeから起動させるターゲットを 自前のメモリ測定EXE経由でCreateProcessさせれば メモリ測定EXEで直接測定できそうなんだけどな…
VisualStudioのツールボックスを見てもBitmapButtonとかがない。 自作するしかないんかな。 うーん。めんどくさ(´・ω・`)Bitmapからリージョン作成とか自前でやるのもなんだかなぁ。 FormのTransparentColorを設定してお茶を濁すという手も・・・
↓System.Security.Cryptography.CryptoAPITransformをildasmで開いた画像 CALG_RC4が宣言されてないじゃないかー!!! orz
C#で暗号化を行うにはmscorrlib.dll内のSystem.Security.Cryptography名前空間にあるクラスを用いる。 一般的によく使われる方法についてメモ。パスワードを使った暗号化 PasswordDeriveBytesクラスを使って鍵を生成する RC2CryptoServiceProviderやDESCrypt…
たぶんこれが最後の予感。Serialize/Serializer.cs Mement -> Memento? FileStream使うのであればtry-finallyをするべき Runner/Executer/SimpleReflectExecuter.cs Reflectionでクラスを呼び出せるのはComponentDLLに定義されてるものだけらしい これ以上は…
.NET Framework 1.1にも2.0にもRC4の実装がないっぽい。 RC2はあるのになんでだろう。 と思ってRC2CryptoServiceProviderとか作ろうかと思いたったわけなんですが。。。 .NET Framework1.1にあるCryptoAPITransformってクラスが、 継承もインスタンシエーシ…
肝の部分というか、2chでネタになっていたあたりのコードを読んでみる。FileLoader/TextLoader.cs 特に無しFileLoader/TextFileSearcher.cs Initはstatic-initializerでおk Stringクラスはimmutableなクラスだから逐一代入するよか、一時無名オブジェクトを…
id:pmoky氏のブログで議論がさくっと進行してる。 土日遊んでた&言語処理関係の話題は門外漢なんでネタについていけない orz とりあえずStoryGeneratorの肝の部分あたりから読んだほうが良さそうだ。 ということで続き。Runner/Runner.cs Exitでthread.Abor…
MSDNにこんなの発見。C#でのシングルトンの実装 http://www.microsoft.com/japan/msdn/practices/type/Patterns/enterprise/ImpSingletonInCsharp.aspC#のstatic-initializerとか変数の初期化構文っていいよねぇ・・・。 C++にもほすぃ(std::mapの静的初期…
昨日の続き。今みてるのはSGCoreっていうプロジェクト。 まだ全然全体像がつかめてないから気になったところからとりあえず書いてく。 後で気づいたら追記で。 Window/BackBuffer.cs Texture texとかSurface srfcとか下手に略すと余計わけわかんない。 スペ…
MSDNを見ていたらSystem.Net.SecurityにSslStreamとかいうクラスが追加されていた。 System.Security.CryptgraphyのX509Certificateを使って自前実装しなくても済むじゃん! .NET2.0ヒャッホー!
まとめサイトにはってあるURLからZIPファイル落としてみた。 アップローダなるものをはじめて使ったんだが、使い勝手がわからずちと時間がかかったorz どれから読んだらいいのかわからんのでとりあえず目に付いたものをかたっぱしから見て見よう。 ちなみに…