だらだらやるよ。

こげつのIT技術メモ

C#

フォームクラスを抽象化したい!

C#

やっとこさVS2005で確認する機会があったので(すっかり忘れていました)http://d.hatena.ne.jp/nagakura_eil/20061127 で書いた現象がVS20005でも再現しました。 VS2008ではどうなってるのでしょうかね。。。おうちで今度確認してみます。

delegateについて

C#

最近はデリゲートにもなれて、ちょこちょこと使っているのですが 後輩の子とかに便利さを説明しようと思っても、なかなかうまくいかないのでちょっとしたコードを書いておこうかな。と 簡単な計算機の例で、仕様はこんな感じ 数値を2つテキストボックスに入…

DataGridViewについて調べています

C#

1レコードを2列っぽく表示したいのですが、簡単な方法が思いつかず。。。 1カラム表示してる中に2カラム分の情報をいれたいのですよね、はて。またはそもそも表示に使用するデータが2行で1セットになるように加工して、表示が2行で1つのように見えるようにす…

実際に演算子のオーバーロードを書いてみた。

C#

演算子をオーバーロードした場合、優先度はどうなるか?を実践。ただintをラップしただけのクラスを用意 public class ExInt { int _n; public int N { get { return _n; } set { _n = value; } } public ExInt(int n) { _n = n; } public static ExInt oper…

演算子のオーバーライド改めオーバーロード

C#

えっと、コード書く前にちょいと調べてみたところ、オーバーライド(再定義)ではなく、オーバーロード(多重定義)らしいです。 確かにそうなんですよね オーバーライドだと、メソッドを置き換えてしまってるけど、オーバーロードの場合は新しい型の引数を追加…

言語使用から読み解くC#3.0入門

C#

この記事が面白かったのでリンク CodeZine:言語仕様から読み解くC# 3.0入門(言語仕様) 記事の前半は単純に便利になったと思った プロパティの自動定義とか便利そう! と少し思ったのだが、個人的にメンバ変数の名前はアンダーバーはじまりが好みなので、…

演算子のオーバーライド

C#

ふと思った 演算子をオーバーライドした場合って、式の優先度どうなるんだろう? 今度試してみよう。。。 追記 試してみました http://d.hatena.ne.jp/nagakura_eil/20071105/1194234337 http://d.hatena.ne.jp/nagakura_eil/20071105/1194234338

クリップボードからHTML形式のデータを取得する際の文字化け。

C#

ここの話題 http://d.hatena.ne.jp/nagakura_eil/20070719 最終的なコードを乗せるのを忘れていたので一応載せておきます。 はっつけておきます。 未確認だけど、バイト配列を文字に変換している際に使用している文字コードを、うまい具合に自動判別して変更…

EXCELのCOMライブラリ呼び出しについてぷちはまりしたのでメモ

C#

VS2005の参照の追加で、Microsoft Excel 11.0 Object Libraryを追加したにもかかわらず コンパイル時にエラーが出てしまう*1 で、エラーメッセージの通り、参照設定を見てみると、Excelのアイコンに!マークがついている。他のマシンにソースを移して実行す…

匿名メソッドの動作について

C#

ちょっと気になる記述があったので明日じっくり読みます。。。 http://d.hatena.ne.jp/NyaRuRu/20051029/p1

staticクラス

今まではクラス自体をstaticにすることができず、以下のようなコードを書いていました public class Test{ private Test(){} static void TestMethod(){ //hogehoge } } これからはこう書きます public static class Test{ public static void TestMethod() …

プロパティのアクセスレベルが柔軟に

int _test; public int Test{ protected set{_test = value;} get{return _test;} } こんな感じで、それぞれでアクセスレベルを変更できるようになりました

Partial Type

ひとつのクラス定義を複数ファイルにまたがって記述できます こんな感じで 一つ目のファイル public partial class Test1{} 二つ目のファイル public partial class Test1{} コンパイルするときにファイルが必要なので、同一プロジェクトに置いて、一緒にコ…

イテレータ

foreachできるようなクラス作るときの実装を簡単にしましょうってな感じです 今までだったらCollectionsクラスを継承したりとかIEnumeratorインタフェースを実装したりしなきゃ駄目だったのですが 以下のように簡単にかけます。 private IEnumerable<string> Test() </string>…

匿名メソッド

これは前からあったdelegateの拡張機能みたいな感じ。 というわけで例によって使い方の違いはこんな感じです。 public delegate void DTest1(string message); public void DTest11(string m){ MessageBox.Show(m+"テスト1回目です"); } public void DTest1…

ジェネリック

地味だけど便利!あるとないとじゃ勝手が違う!まずは今までのやり方 ArrayList al = new ArrayList(); al.add("testです。"); al.add(200); string st = (string)al[0]; Console.WriteLine(st); string st2 = (string)al[1];//実行時例外が発生する。 Conso…

Null許容型

値型とか構造体にNullが使用できるようになりました。 よく使うことになると思うのはint,bool,DateTimeといったところでしょうか で、使い方 int? test1 = null; Nullable<int> test2 = 43; これだけ、簡単ですね:-) 「型名?」はNullableの参照らしいので、どちら</int>…

C#2.0について

世の中ではもうC#3.0についての話題が出てて、幾分乗り遅れてしまった感はあるのですが やっとこさ2.0を実際に自分で使ってみたので、以前との違いを中心にレポ VisualStudio自体にも機能が増えているので、それも今後かけたらなと思います。あくまで自分の…

C#でEvalする。続き。

ちょいと追記します。 計算だけだったらJScriptのメソッドを呼び出してあげるのが一番簡単みたいですねー DOBONさんのところで解説してありました:-) http://dobon.net/vb/dotnet/programing/eval.html

C#でEvalする

最近、ある程度汎用性の高いテキスト処理ツールを作ったりしてるのですが やっぱりプログラマとしては途中でコード書きたくなるんですよね 最初はミニ言語でも作ろうかと考えましたけど、Evalメソッド作ることにしました。 というかぐぐったらこんなもの発見…

クリップボード続き

C#

というわけでとりあえず完成。 前述のサイトそのままだとunsafe使ってたのが嫌だったので、使わないように変更しました。 あとはクラスにまとめて終わりです:-)万歳

クリップボードからの値の取得その2(文字化けに対応する)

C#

http://d.hatena.ne.jp/nagakura_eil/20070524の続き String test = (String)System.Windows.Forms.Clipboard.GetDataObject().GetData("Text"); の場合は問題なかったのですが String test = (String)System.Windows.Forms.Clipboard.GetDataObject().GetDa…

検索ワード

C#

といっても、検索とはなんたるかについてとかではなく。 ここに検索から来てる人の話なんですけどね どうもDataGridとかDateTimePickerとかのキーワードで検索されることが多いのですよね。。。 といってもここにそこまで沢山情報があるわけじゃないので若干…

クリップボードから値の取得

C#

めもめも String test = (String)System.Windows.Forms.Clipboard.GetDataObject().GetData("Text"); 最後のGetData("Text")は、他の型でもOK というより、クリップボードの中には複数のデータ型を持っているみたいなので 取得時に、自分が必要な型を指定し…

C#でアクセスのサブフォームっぽいことをする。

フォームの中でフォームの繰り返しを行う方法 最初は2行ずつのデータグリッドを作ろうかな、と思ったんですが 若干めんどくなりそうだったので、アクセスのサブフォーム風な感じにすることに:-) フォームにパネルを貼り付けて、その中に別のフォームを繰り返…

フォルダへの権限の設定や共有の設定

C#

そうそう、うちとこのブログに、C#とフォルダの権限とか共有とかのキーワードで訪問される方が多いので、ぼちぼち記事まとめなきゃな。。。とは思ってるのですが(w; ちと時間も無いので、自分がコード書く際に参考にしたサイトのリンクだけでも張っておき…

フォルダへの権限設定とか

C#

調べるのに半日くらい使ってしまった・・・ 共有フォルダの設定とか、アクセス権限の設定とかね 後日たらたらとまとめます。

DateTimePickerの表示を制御

コンボボックスの場合はDroppedDownプロパティをtrueにすればいいだけなんですが DateTimePickerの場合はプロパティ自体がなくなっているのですよねんで、ちょこちょこと調べてたら別の方法を使うとのこと http://www.microsoft.com/japan/msdn/community/gd…

インストーラ関連

C#

インストーラを作成するときに参考になったとこ http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=28147&forum=7 他にもあるけどとりあえずメモ代わりに:-)

アプリケーションのインストーラを作成してます。

C#

情報を集めながらちょっとずつ作成中。。。 地味に情報が散らばっててめんどくさいですね。。。 もう少しでひと段落つくので、参考になったサイトなどまとめようかなと思ってます。