技術をかじる猫

適当に気になった技術や言語、思ったこと考えた事など。

C#

WPF を勉強してみるⅡ

WPF は見た目だっ!と意気込んで、レイアウトコンポーネントを色々触ってみた。 とりあえず触ったのは以下の連中 Grid UniformGrid Canvas StackPanel WrapPanel DockPanel Grid グリッドレイアウトとは良く言ったもの。 線を引くようにレイアウト配置を決め…

WPF を勉強してみるⅠ

今更だが、食わず嫌い(これまでちょこっと書いて動いたー程度)だったWPFを勉強しようと思った。 理由はコレ次期Visual Studio 2010と.NET Framework 4.0の新機能 やばい。かなりやばい。 Windows7 でも WPF は健在で、マルチタッチスクリーン対応だとぉぉぉ…

AOP(Seaser.NET)をC#でやってみる

前回の続きで、今度はAOP(Aspect-Oriented Programming。アスペクト指向プログラミング)を試してみる。 とりあえず、dll コピーと、参照設定は前回のものと同様にしておく。 AOP アスペクト指向プログラミング どんなもんかといいますと、以下Wikipediaから …

DI (Seaser.NET)を C# で試してみる

DI(Dependency Injection。依存注入)とかAOP(Aspect-Oriented Programming。アスペクト指向プログラミング)とかをC#でできると聞いてやってみた。 で、実際に利用するライブラリに関してはコレ。 Seaser.NET という、Java ではもう有名すぎるアプリケー…

ManagedDll を動的に読み込むあれこれ

流派は2つ。 Assembly 使って、動的にリンクする方法 http://athomejp.com/goldfish/vcs/assemblycall.aspAppDomain 使って、動的にロードする方法 http://d.hatena.ne.jp/akiramei/20071111/1194786373前者のほうが簡易だけど、後者はアンロードできるそう…

ExpressionTree 抜きで動的にLINQの Where を指定するよう試す。

LINQ to SQL では使えないけど、一応手といえば手。 だってExpressionTreeとか弄るのヤだもん。俺、、、、 やってることは、匿名デリゲートを作ってWhereに突っ込んでるだけです。 で、匿名デリゲートを動的にポンポン作れば、動的なフィルタの出来上がり〜…

ディレクトリの中身を再帰的にリストアップ

書いてからPythonにすりゃよかったと後悔 using System; using System.Text; using System.IO; namespace DirectorySearcher { class Program { static void Main(string[] args) { string localDir = System.Reflection.Assembly.GetExecutingAssembly().Lo…

文字列をコンパイルして実行してみる

適当にネット漁ってたら面白そうなAPI落ちてたからやってみた。 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Reflection; using System.CodeDom; using System.CodeDom.Compiler; using Microsoft…

XMLとオブジェクトでマッピングを試みる

C#には XmlSerializer なるクラスが存在してて、このクラスは Stream に、オブジェクトをシリアライズして書き込む。または、デシリアライズするという機能を持っている。 で、属性割り当てとか、要素名指定とか色々できる。以下サンプル。 // .NET 2.0(?)以…

VS2008 でDBをなるべくコードレスで弄ってみる

C#

とりあえずは、DBとテーブル無いと話になんないので作成。 ぶっちゃけ、DB講義ではないので、作成方法は各自に任せる。DBサーバは、VisualStudio付属だったMSSQLServerExpressでやってみた。ここでやった設定だけ記述。 自分のマシン内に、以下のDB、テーブ…

メモ化機構を切り離してみる

メモ化の概念的には、結局のところ、引数パターンに対する辞書があって、一度やった処理は記録して使いまわす。 前回のものから、メモ化部分を抽出するだけしてみると、 def tarai(x, y, z): if x <= y: return y return tarai(memorize(x - 1, y, z), memor…

ゆの in C#

C#

http://d.hatena.ne.jp/nullpobug/20080717/1216288492ここの人に誘われてやってみたが、これではどうも面白くない。 何かどこかでひねりたいところ。LINQ と絡めたいけど、「/」をどうすりゃいいか不明。 参ったね。 namespace yuno { class Yuno { String …

C#3.0 が何気に良い意味で気持ち悪い(3回目)

C#

LINQ が凄いことになっている。 百聞は一見に如かず。 とにかく見ると笑ってしまう。 var 兵器全般 = new[] { new {兵器ID=0, 兵器名="FA-MAS", カテゴリ="アサルトライフル"}, new {兵器ID=1, 兵器名="FN P90", カテゴリ="サブマシンガン"}, new {兵器ID=3,…

C#3.0 が何気に良い意味で気持ち悪い

C#

C# 2.0でやってたものを思い出すと、 yield , 匿名 delegate ,Generics,イテレータ等がある。 実際にコードを書いてみる。yield,Generics,イテレータ namespace CSharp2 { class Program { static void Main(string[] args) { int[] arr = new int[50]; for …

POP3コンポーネント無いのかΣ(゚Д゚;≡;゚д゚)

C#

これだけ至れりつくせりの.NETFrameworkに、 よりにもよってPOP3Clientライブラリが無いのかよ!?作れってコトですか? ヤだよ俺、、、RFC読み漁るとか(−−;オープンソースなコードで http://www.c-sharpcorner.com/UploadFile/ivxivx/SMTPPOP3IMAPLibrary…

C#3.0 が何気に良い意味で気持ち悪い(2回目)

C#

C# の 3.0 について見ていこうと思う。 片っ端から列挙しようか。 暗黙的型付け VBの人たち大喜び? C++の人やJavaの人は悲鳴上げるだろうか? 代入時に型が固定される、暗黙的型付け機能搭載。テストコード var n = 1; System.Console.WriteLine(n.GetType(…

TextBox コンポーネントの値チェックをやってみる。

C#での実装です。 VB.NETの人は脳内補正してください。TextBoxコンポーネント は基本的に Form で インスタンス化 して使うので、 その Form でこんなことをしてみる。 /* 使うもの */ using System.Text.RegularExpressions; /* 定義 */ private System.Win…

暗号化と復号化してみる

オーソドックスに DES 暗号を使ってみる。 使う namespace は using System.Security.Cryptography; using System.IO; で、他に使いそうなもので、以下のメソッドを用意 private static byte[] ResizeBytesArray ( byte[] bytes, int newSize ) { byte[] new…