[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 2chのread.cgiへ]
Update time : 07/07 07:23 / Filesize : 230 KB / Number-of Response : 861
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

ふらっとC♯(Part5)



1 名前:デフォルトの名無しさん [03/10/04 01:02]
このスレッドは

「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。

ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問など、
勇気をもって書き込んでください。

少しずつC#プログラマを名乗るものが現れました。みなさん一緒に勉強しましょう。

前スレッドはこちら
pc2.2ch.net/test/read.cgi/tech/1059028988/l50 (Part4)
pc2.2ch.net/test/read.cgi/tech/1047210828/l50 (Part3)
pc2.2ch.net/test/read.cgi/tech/1035895873/l50 (Part2)
pc2.2ch.net/test/read.cgi/tech/1023766485/l50

110 名前:デフォルトの名無しさん [04/04/20 12:27]
ツールバーのボタンをドラッグするとへこんだままになるのはなぜですか?

111 名前:デフォルトの名無しさん [04/05/09 17:50]
HTTPのプロキシサーバーを作成しようとしています。

.NETのクラスライブラリに、プロキシサーバー関係のクラスはあるでしょうか?探したところ、無さそうでした。
ない場合は、System.Net.Sockets名前空間のTcpListenerクラスを使えばいいのでしょうか?

112 名前:デフォルトの名無しさん mailto:sage [04/05/09 18:01]
>>111
System.Net.WebProxyクラス。

113 名前:111 [04/05/09 18:08]
>>112
そのクラスは、こっちからどこかにアクセスするときに利用するプロキシを設定するクラスではないですか?

114 名前:デフォルトの名無しさん mailto:sage [04/05/15 17:12]
メモリ配列で構造体を初期化したいんだけど
C/C++で
struct_type s;
char work[256];
memcopy(&s,work,sizeof(struct_type));

みたいなことってC#でどうやってやったらいいんですかね?

115 名前:デフォルトの名無しさん mailto:sage [04/05/18 12:18]
その例は構造体の初期化じゃなくて配列の初期化だから

116 名前:デフォルトの名無しさん [04/05/19 15:33]
 Bitmap bitmap=new Bitmap(ファイル名);

 PictureBox p =new PictureBox();
Graphics g = p.CreateGraphics();
g.DrawImage(bitmap,new Rectangle(0,0,100,100));
g.Dispose();
という非常によくみられる方法で画像を表示したいが、一瞬画像が現れただけで
すぐに消えます。だから、普段は、p.Image=bitmap のようにプロパティで表示しています。
どーすればGraphicsで表示できますか?

117 名前:デフォルトの名無しさん mailto:sage [04/05/19 16:36]
OnPaintをオーバーライドして引数のGraphics使えば望みの動作にできる

118 名前:デフォルトの名無しさん [04/05/19 19:12]
>117
ありがとうございます。
確かに一個のフォーム全体に画像を表示するとき、重なっていてもうまく表示できました。
でも、最終的には画像ビューワーのようにサムネイルをたくさん表示したいのです。
そのときOnPaintを何度も呼び出す方法もよくわかりません。
Graphicsで表示したときにずっと表示する方法はないのでしょうか。
できるからこそ、GraphicsのインスタンスをDrawImageするのが一般的描画方法
とされているはずなので。私の場合そもそも一瞬しか表示されません。
なぜ?







119 名前:デフォルトの名無しさん mailto:sage [04/05/19 20:21]
>>118
OnPaintは自分で呼ぶものじゃなくて(フレームワークから)呼ばれるもの。

120 名前:デフォルトの名無しさん [04/05/19 21:09]
C#でゲームのようなグラフィックを扱うにはどのようなコンポーネントが
必要ですか?サンプルコードもおねがいします

121 名前:デフォルトの名無しさん mailto:sage [04/05/19 22:10]
>>120
↓この辺り?
C#でDirectX9 初心者の館
pc5.2ch.net/test/read.cgi/tech/1069666471/

122 名前:デフォルトの名無しさん [04/06/03 17:52]
いま、オブジェクト指向の勉強をしようとおもって、C#でライツアウトを作っています。
Buttonクラスを25個集めてboardというクラスを作りました。
そこで思うのですが、「全ての色が消えた」というような「審判」の役割は
誰がするのですか? judgmentクラスを作ったとして、
ボタンが押されたというのはjudgmentクラスにどうやって伝えるんでしょう?

123 名前:デフォルトの名無しさん mailto:sage [04/06/03 20:29]
>>122
ひょっとしてVC#使ってない?

124 名前:デフォルトの名無しさん [04/06/03 21:28]
>>123
VC# 2003ですよ。

今木が付いたけど、mybutton_click見たいな関数から 毎回 審判を呼び出すものですか?
結構無駄が多いような記もしますが、それがOOと考えて良いの?


125 名前:デフォルトの名無しさん mailto:sage [04/06/03 22:24]
ビジュアルなんたらを使ってる人はビジュアルな部分は簡単にこなすけど、
そうも行かない部分はぜんぜん出来ないでいるからね。
おれも似たような経験がある。
ちなみに答えはeventとdelegateなんだけど、
ビジュアルには行かないkらMSDNみてコード書いてね。

126 名前:デフォルトの名無しさん [04/06/04 02:33]
ようやくC#なんですけど、
とりあえず.Net Framework 1.1 SDKを拾ってきてインスコしました。
ドキュメントも更新しました。
んだら、PlatformSDKのドキュメントと.NetSDKのドキュメントの
インデックスとコンテンツが表示されなくなってもたんです。
dexploreの仕組みがようわからんので困ったチャンなのです。
VS.Netは金なくてあかんです。
ドキュメントがみずらくてかないません。たちゅけて。

127 名前:デフォルトの名無しさん mailto:sage [04/06/04 02:34]
>>126
フィルタ?

128 名前:デフォルトの名無しさん [04/06/06 22:38]
listviewとimagelistを使ってサムネイル表示したいのですがうまくいきません
listView1.View=View.LargeIcon;
imageList1.ImageSize = new Size(90, 90);
imageList1.Images.Add(Bitmap.FromFile("ファイルのパス"));
listView1.LargeImageList = imageList1;

foreachでimagelistに画像を格納して、listviewにimagelistをくっつけたんですが
画像が表示されません。何か間違ってますか?



129 名前:デフォルトの名無しさん mailto:sage [04/06/07 21:28]
XMLからデータを読み込んで、DataGridに表示させたいのですが、
色々検索してもDataGridの使い方が分かりません。
[C# DataGrid]とかで検索しても、データベースサーバから読む場合ばっかりで・・・

130 名前:デフォルトの名無しさん mailto:sage [04/06/07 22:26]
>>129
GotDotNet Japan Student コラム 「XML プログラミングを始めよう」
www.gotdotnet.com/japan/student/column/xml/xmlprogramming7.aspx

DataSet の XML 機能

131 名前:デフォルトの名無しさん [04/06/08 00:06]
クリックとかのイベント時に音を鳴らしたいのですが、どうすれば?

132 名前:デフォルトの名無しさん mailto:sage [04/06/08 17:26]
>>128
偶然通りかかったので答える。
ListView にアイテムを追加して、イメージインデックスを指定しなきゃ。
あとサムネイルなら GetThumbnailImage で適当に作ってやんなきゃダメじゃん。
SDKドキュメントの"ListView.LargeImageList プロパティ "のとこのコード見てみて。
もう来ないので質問されても答えられないけど、がんばってね。

133 名前:デフォルトの名無しさん [04/06/10 06:01]
もう来ないとか言うな。無責任な奴は来るな。社会のごみ同然。


134 名前:デフォルトの名無しさん mailto:sage [04/06/10 10:33]
>>133
別に最後までずっと相手してあげなきゃならないというわけでもないと思うけど。
だいたい説明すればあとは自分でなんとかするでそ。

135 名前:デフォルトの名無しさん mailto:sage [04/06/10 15:38]
インテリセンスのメソッド説明をもっと早くポップアップさせるにはどこいじればよいでしょうか?

136 名前:デフォルトの名無しさん mailto:sage [04/06/10 16:22]
スマソ。C#というよりVS.NETの話でした。

137 名前:デフォルトの名無しさん [04/06/16 14:13]
CheckedListBoxを既にItems.Addで追加済みなんですが、この内容をコードで順番にCheck,Uncheckするにはどうでればよいでしょうか?

138 名前:デフォルトの名無しさん [04/06/17 19:15]
リフレッシュレートの変更はAPI使わないとだめなんでしょうか。
そもそもそんなもんを作るなって言語なんでしょうか。
意外と出来ないことが多くてびっくりしてます。



139 名前:デフォルトの名無しさん [04/06/18 03:03]
C#.NETで開発しています。exeからdllを呼んでいてdllもC#で作っています。
dll内にステップインで入ってデバッグしたいのですが、入れるときと入れないとき
があります。何が原因でしょうか?
dllはグローバル アセンブリ キャッシュにインストールして使っています。

140 名前:139 mailto:sage [04/06/18 08:08]
dllがデバッグだったりリリースビルドだったりしてるんでないの

141 名前:140 mailto:sage [04/06/18 08:09]
ちがう。>139としたかったの...orz

142 名前:139 mailto:sage [04/06/18 21:10]
>>140
レスありがとうございます。今日やっと分かったのですが
exeと同じところにdllを置いたらできました。
ビルドのオプションでローカルコピーをtrueにしたりfalseに
したりしていたようです。

143 名前:デフォルトの名無しさん mailto:sage [04/06/25 06:59]
教えて下さい。
Windows.FormでGUIアプリを作っているとします。
編集メニューでコピーにCtl+Cを割り当てて、
とあるコントロールにはこのメニュークリックのイベントで
処理したいんだけど、別の(例えば普通のテキストボックス)には
デフォルトのコピー処理をさせたい。
でないとそれぞれのコントロールごとに処理を書くはめになるので。
必要ないコントロールの場合はイベントをスルーすればいいんでしょうが、
どう書けばいいんでしょうか?

144 名前:デフォルトの名無しさん [04/06/25 07:11]
上げ忘れてた。。

145 名前:デフォルトの名無しさん mailto:sage [04/07/02 21:47]
タイマーの使い方を教えてください。

あるボタンを押した時から、1000msごとにのこり時刻を
[10秒経過 / 残り170秒] というように表示させたいです

146 名前:デフォルトの名無しさん [04/07/02 21:50]
あげわすれた

147 名前:デフォルトの名無しさん mailto:sage [04/07/02 21:59]
>>145
「シンプルな時計」でやってるよ
homepage3.nifty.com/midori_no_bike/CS/index.html

148 名前:デフォルトの名無しさん mailto:sage [04/07/02 23:47]
>143
きれいにやるならそういうフレームワークを作る
そすると他のでも使える

どこまでやるかは時間次第



149 名前:デフォルトの名無しさん [04/07/03 09:10]
とりあえずVisualStudio2005のC#の言語仕様に拡張があるのかどうか知りたいのですが、
VisualStudio2005言語仕様の概要について書かれているホームページがあったら教えてもらえませんか?


150 名前:デフォルトの名無しさん mailto:sage [04/07/03 09:40]
>>149
lab.msdn.microsoft.com/express/

151 名前:http:// v019240.ap.plala.or.jp.2ch.net/ mailto:ken01_2001@msn.com [04/07/03 10:46]
guest guest 

152 名前:デフォルトの名無しさん [04/07/04 15:57]
Windowアプリ/Consoleアプリ兼用のアプリが作りたいんですけれど
System.Console.Write 等の入出力を起動したConsoleアプリの入出力にする方法しりませんか?


153 名前:デフォルトの名無しさん mailto:sage [04/07/04 18:41]
>>152
どういう意味か良く分からないんだが…

154 名前:デフォルトの名無しさん [04/07/09 17:42]
textBoxに半角数字しか入力できないようにする方法はありますか?
ImeModeをOFFにしてみたけど、これじゃ半角英数字になってしまうんです。

155 名前:デフォルトの名無しさん mailto:sage [04/07/10 01:06]
調べろ。わからなかったら自分で作れ

156 名前:デフォルトの名無しさん mailto:sage [04/07/10 01:37]
よぅ。カスども。
俺C#やったことないんだけど、質問してもいい?
みんなC#ってなにに使ってんの?
「ネイティブコード吐けるJava」みたいな認識で買おうか迷ってんだけど、
そんなノリで買ってもいいものなんですか?

157 名前:デフォルトの名無しさん mailto:sage [04/07/10 01:48]
theSpoke効果だな

158 名前:デフォルトの名無しさん mailto:sage [04/07/10 02:52]
>>156
10個は買えバカ



159 名前:156 mailto:sage [04/07/10 03:29]
買うなら1個でいいよ。
やっぱASPで使ってんの?
それともクライアントアプリ?
どうなのよ。

160 名前:デフォルトの名無しさん mailto:sage [04/07/10 09:29]
それを聞いて何かが変わるのか?

161 名前:デフォルトの名無しさん [04/07/10 10:30]
> 「ネイティブコード吐けるJava」みたいな認識

全然違う

> やっぱASPで使ってんの?

ASP.NET か?

> それともクライアントアプリ?

どっちもだろ。


162 名前:156 mailto:sage [04/07/10 12:47]
>>160
あー、「結局どーしてーのよ?」みたいななるわな。
具体的にはC/Sタイプのアプリのクライアント側を何で作るか迷ってるのよ。
仕事の合間の趣味の話だから手ごろそうなC#がいいのかなと。
どんなん作りたいかっていうと、MSメッセンジャーみたいのだと思ってくれればいいな。

>>161
全然違うんか。
今まではクライアントアプリっつーとVCかDelphiか、まぁVBとかだったわな。
VCしかできねーけど。
んでひょっこりでてきたC#はどーなのよと思ってな。
Javaでもいんだけど、インストールの説明に「J2SE1.4ランタイムが必要です」って書くのと、
「.NETFrameforkランタイムが必要です」って書くのとじゃちょっとイメージ違うしな。

163 名前:名無しさん@そうだ選挙に行こう [04/07/11 10:34]
terrarium1.2になりますた

www.terrariumgame.net/terrarium/

164 名前:名無しさん@そうだ選挙に行こう [04/07/11 12:50]
>>162
次期VS.NET(2005)は単体言語版(C#だけとか)で
Web(ASP.NET)機能を除いたグレードのものが格安で
出るらしいです。

趣味ならこれ使ってC#の非Webアプリを創るのが
非常に快適ではないかと思う。VCできるならなおさら
VB.NETに走る必要もないわけだし。

一つだけ問題があるとすれば、2006〜2007年予定の
次世代Windows(Longhorn)までは.NETFrameworkが
デフォのAPIじゃないことだろう。なのでフリーウェアとか
シェアウェアで早期にアプリを公開するつもりなら
これは向いていない。


165 名前:名無しさん@そうだ選挙に行こう mailto:sage [04/07/11 13:28]
C#にはウニオン型は無いの?

166 名前:名無しさん@そうだ選挙に行こう mailto:sage [04/07/11 13:45]
struct でオフセット弄る

167 名前:名無しさん@そうだ選挙に行こう mailto:sage [04/07/11 15:14]
int?ってなんか萌えるな

168 名前:156 mailto:sage [04/07/11 20:52]
>>164
素敵情報サンクス。
サーバ(C++)とクライアント(Java)で作りつつ、
教えてくれた安価モデルが発売されたらクライアントをC#に移植
みたいな方向で考えてみるよ。

時期OSで.NETFrameworkが標準じゃなくなるってのは寝耳に水だけど、
さすがにバンドルされてないとは考えられないから、
あまりそっちは気にしなくていいかもな。
でもちょっと怖いから調べててみることにする。

マジサンクス!



169 名前:デフォルトの名無しさん mailto:sage [04/07/12 10:00]
> 時期OSで.NETFrameworkが標準じゃなくなるってのは寝耳に水だけど

そんなこと誰も書いてないでしょ

170 名前:デフォルトの名無しさん mailto:sage [04/07/12 15:03]
>>165
なくなっちゃったよ、せっかくintやらのビット数固定にしたんだから、
その範囲でのみでても付けてもらえると便利っていうか、Cより安全確実でよかったんだけどね。
ちょとさびしい。
頑張ってstruct使ってビットフィールド操作関数作るしかないっすね。

171 名前:デフォルトの名無しさん mailto:sage [04/07/12 15:56]
>>169
WinFXのことだろ。


172 名前:156 mailto:sage [04/07/12 23:10]
defaultとstandardはこの場合同意語にならんか?
それともそーゆーことじゃないのか?
なんにせよいろいろややこしそうだな。

173 名前:デフォルトの名無しさん [04/07/14 16:27]
生成済みのオブジェクトの型を調べて、
それの型と同じ型で new をする方法があったら教えてください。

class ClassA() { ... }
class ClassB() { ... }
...
class MyApp
{
  void test()
  {
    object [] list = { new ClassA() , new ClassB() } ;
    foreach( object i in list )
    {
      sub( list[ i ] ) ;
    }
  }
  void sub( object a )
  {
    「aの型=ClassA/ClassB」  localData = new 「aの型=ClassA/ClassB」() ;
    ...
  }
}

といった事をしたいのですが、System.Reflection を使えばできると聞いたのですが、
分りやすいサンプルがあったらよろしくお願いします。


174 名前:デフォルトの名無しさん mailto:sage [04/07/14 16:40]
>>173
object localData = a.GetType().GetConstructor().Invoke( new object [] {} );


175 名前:デフォルトの名無しさん mailto:sage [04/07/14 17:02]
>>174
有難うございます、助かりました。

176 名前:デフォルトの名無しさん mailto:sage [04/07/14 23:14]
>>175
でも、実装の仕方としては、class A, B を ICloneable にして Clone() メソッド書くのが普通な気が。

177 名前:デフォルトの名無しさん mailto:sage [04/07/14 23:28]
>>175
それでほんとに問題ないのかちゃんと確認した方がいいぞ。

178 名前:デフォルトの名無しさん mailto:sage [04/07/15 06:59]
>>176
リフレクションの使い方の取っ掛かりが欲しかったので、構わないんです。
コンストラクタ以外にもメソッドを呼び出すときに、もっと複雑なことになるし、この辺りは覚悟していましたし
いずれにしても template が実装されるまでの繋ぎなので。



179 名前:デフォルトの名無しさん mailto:sage [04/07/15 07:06]
>178
どうtemplateにからむんでしょう?個人的に興味

180 名前:デフォルトの名無しさん mailto:sage [04/07/15 19:08]
ダウンキャストを知らないだけだったりして…

181 名前:デフォルトの名無しさん [04/07/15 20:30]
C#の宿題スレはまだ無いみたいなのでここにて。

C#で簡易telnetを作れという問題です。通信の方法がそもそも分かりません

182 名前:デフォルトの名無しさん mailto:sage [04/07/15 21:02]
>>181
ソケット作れ

183 名前:デフォルトの名無しさん mailto:sage [04/07/15 21:10]
言語依存じゃない部分が分かってないんだろ?

184 名前:デフォルトの名無しさん mailto:sage [04/07/15 21:11]
>>181
TCPで接続してTELNETプロトコル話せばいいだけ

www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&oe=UTF-8&q=telnet+%E3%83%97%E3%83%AD%E3%83%88%E3%82%B3%E3%83%AB

185 名前:デフォルトの名無しさん [04/07/20 13:26]
IList をインターフェイスに持つオブジェクトでシリアル化する時、上手く行かなくて地団駄踏んでいます。

System.Runtime.Serialization.Formatters.Soap.SoapFormatter
で、オブジェクトをXmlにシリアライズする時は ISerializable でカスタマイズできるみたいですが、

System.Xml.Serialization.XmlSerializer
で、オブジェクトをXmlにシリアライズする時でカスタマイズできる方法は無いんでしょうか?
知っている人いますか?

IList を入れていると、XmlSerializerが頑張っちゃって自動的にシリアライズしてしまうみたいで・・・
IListが入っていても普通のクラスのように振舞わせる事はできないのでしょうか?

186 名前:デフォルトの名無しさん mailto:sage [04/07/20 15:14]
>>185
取りあえず簡単なIListを実装したコレクションを作ったけど普通にシリアライズ・デシリアライズできたぞ。

XmlSerializerは手軽に使えてカスタムしにくいのが特徴なので、まあいろいろ勘案して。
シリアライズ用の別クラスを作るとか。

187 名前:デフォルトの名無しさん mailto:sage [04/07/20 15:23]
あ〜、>186の一行目はちょっと勘違いというか見当違い。無視して。

188 名前:デフォルトの名無しさん mailto:sage [04/07/20 15:23]
>>186
あぅ、書き損じたんですが、添え字にマイナス値を使えるようにするとアウトなんですよ。
ヘルプを見ると、this[int]インデクサプロパティーを見ているようで、Countとセットで
動作しているみたいなんです。
当然動作するわけも無いのですが、ここでIListを見て勝手に動作されるとちょっと具合が悪いので、
この機能に寝ていてもらいたいのですが、手段が見つからない・・・・



189 名前:デフォルトの名無しさん [04/07/22 11:01]
単純に足し算するだけのメソッドなんですが、
public int Add()
{
return 10+10;
}
下のように使うと、Add()の戻り値は変数aに入りますよね。
public void Test()
{
int a = Add();
}
以下の場合だと、Addの戻り値はどこへ格納されるんでしょうか?
publi void Test()
{
Add();
}

190 名前:デフォルトの名無しさん mailto:sage [04/07/22 11:03]
そのまま破棄されるだけだが。

191 名前:デフォルトの名無しさん mailto:sage [04/07/22 12:31]
C系言語の特徴で
int main()
{
10 ;
}
とやっても、文としては正しいと認識されます
と、書こうとして、C#でやったら、意味が無いって怒られました。
さすがにチェックすることにしたみたいですね。

192 名前:デフォルトの名無しさん [04/07/27 20:11]
public int hoge; //hogeは1から100をとる
上の場合、publicだから外からどんな値が来るかわかりません。
hogeに値が代入された時に、hogeが正しい値かどうかを調べるにはどうしたらいいんですか

193 名前:デフォルトの名無しさん mailto:sage [04/07/27 20:16]
>>192
プロパティにしてsetアクセサの中でチェックする。
つかまさにそのためにプロパティがあるんだが。

194 名前:デフォルトの名無しさん mailto:sage [04/07/27 20:17]
プロパティにする

195 名前:デフォルトの名無しさん mailto:sage [04/07/27 20:28]
set{ if(value >= 1 && value<=100) hoge = value; else throw new FormatException(); }
みたいにすればいいんですね。なるほど

196 名前:デフォルトの名無しさん mailto:sage [04/07/27 20:31]
どうでもいいがその例だとArgumentOutOfRangeExceptionの方が妥当だな。

197 名前:デフォルトの名無しさん mailto:sage [04/07/31 15:21]
>>195
public int hoge {
  set {
    if (1 <= value && value <= 100)
      hoge = value;
    else
      throw new ArgumentOutOfRangeException();
  }
}

ちょっと無理っぽいが、通るのか?

198 名前:デフォルトの名無しさん [04/07/31 18:44]
GDI+はGDIより遅いって本当ですか?



199 名前:デフォルトの名無しさん mailto:sage [04/07/31 19:54]
>>198
自分で作って確かめろ、タコ

200 名前:デフォルトの名無しさん mailto:sage [04/07/31 20:58]
>ちょっと無理っぽいが、通るのか?
なんで?

201 名前:198 [04/08/01 09:38]
>199
GDIはBitbltで
GDI+はGraphics.DrawImageで
確かめて良いですか?

202 名前:デフォルトの名無しさん mailto:sage [04/08/01 11:55]
GDI+は長角まで待つべし

203 名前:デフォルトの名無しさん mailto:sage [04/08/01 12:31]
リフレクションを使ってラムダ式を動的に作りたいのですが、
参考になるHPや良い方法があったら教えてください。
例えば、正規分布関数のクラスが、以下のように存在していて
public class DistributionFunctions
{
 public static dobule Normal( double x , double a , double v )
 {
  return 1.0 / Math.Sqrt( 2 * Math.PI * v ) * Math.Exp( -(x-a)*(x-a)/( 2 * v ) ) ;
 }
 ...
}

やりたい事は、
delegate double DoubleToDoubleDelegate( double x ) ;
public class DistributionDelegates
{
 static DoubleToDoubleDelegate MakeNormal( double a , double v )
 {
  ここに手際よく大量生産できるコード
 }
}

使い方は
void hogehogeMethod()
{
 DoubleToDoubleDelegate df = MakeNormal( 0.0 , 1.0 ) ;
 y = df( 0.0 ) ;// ここで y = Normal( x , 0.0 , 1.0 ) が呼び出される
}


204 名前:デフォルトの名無しさん mailto:sage [04/08/01 16:03]
>>203
よくわからんけど、こんなこと↓がしたいの?

using System;
public class DistributionFunctions {
double a;
double v;
public DistributionFunctions(double x, double y){
a = x;
v = y;
}
public double Normal( double x )
{
return 1.0 / Math.Sqrt( 2 * Math.PI * v ) * Math.Exp( -(x-a)*(x-a)/( 2 * v ) ) ;
}
}
delegate double DoubleToDoubleDelegate( double x );
class Hoge {
static DoubleToDoubleDelegate MakeNormal( double a , double v ) {
//ここに手際よく大量生産できるコード
DistributionFunctions f = new DistributionFunctions(a, v);
return new DoubleToDoubleDelegate(f.Normal);
}
static void Main() {
DoubleToDoubleDelegate df = MakeNormal( 0.0 , 1.0 ) ;
double y = df( 0.0 ) ;// ここで y = Normal( x , 0.0 , 1.0 ) が呼び出される
Console.WriteLine("y = {0}", y);
}
}

205 名前:204 mailto:sage [04/08/01 16:27]
public class DistributionFunctions {

の{の前に全角スペースが入ってた。。。鬱

206 名前:デフォルトの名無しさん mailto:sage [04/08/01 16:28]
C#でGDIをつかうすべはあるのか?APIの直たたきならGDIをつかえる?

207 名前:デフォルトの名無しさん mailto:sage [04/08/01 18:33]
>>204
方法は問わないんですが、そうです、そんな感じです。
そこで、関数の引数を確保するクラスを作る必要がありますよね。
関数の数が多くて、これを全部自動生成してしまいたいんです。


208 名前:204 mailto:sage [04/08/01 20:00]
>>207
> そこで、関数の引数を確保するクラスを作る必要がありますよね。
> 関数の数が多くて、これを全部自動生成してしまいたいんです。
204の例を使っても、好きなだけ関数は作れるけど。。。↓こういうことではない?

static void Main()
{
double d1 = 1.0; // 数字は適当
double d2 = 1.0; // 数字は適当
DoubleToDoubleDelegate[,] df = new DoubleToDoubleDelegate[10,10];
for(int i=0; i < 10; i++, d1 += 0.2){
for(int j=0; j < 10; j++, d2 += 0.2){
df[i,j] = MakeNormal( d1, d2);
}
}
for(int i=0; i < 10; i++){
for(int j=0; j < 10; j++){
double y = df[i,j]( 0.0 ) ;
Console.WriteLine("y = {0}", y);
}
}
}




209 名前:デフォルトの名無しさん mailto:sage [04/08/01 21:52]
>>208
ども、お手数掛けてすみません。
対象となる関数は、正規分布関数のようにパラメータ二つだけとは限りませんし、
今後、多変数に対応するにあたって、このまま場当なやり方で行きますとプログラムの保守が危機的になると考え
第一段階として、現在はC#のソースコードを自動生成するプログラムを作って対応しています。
しかし、これも必ずしも良い方法とも言えず、もっと効率的にプログラムできる方法として、
色々探している内にリフレクションという物を使ってみようかと考えていました。
さっそく始めてみたのですが、これがチュートリアルの良いページがなかなか見つからなくて・・・・

ちなみに僕自身、ここに書き込む前に色々考えたのですが、
一般的なC#の構文を使った範囲内ではおそらく良い解決方法はないだろうというのが結論でした。


210 名前:デフォルトの名無しさん [04/08/01 22:20]
はじめまして、
C#でデータベースに関することを勉強しています。
ボタンを押すとアクセスに「123」というデータを追加するプログラムを書いています。
壁にぶつかりましたので、ご指導していただけませんか。

odbcDataAdapter1などの設定し、以下のボタンの内容を書きました。

odbcConnection1.Open();
odbcDataAdapter1.InsertCommand.Parameters["@ab"].Value="123";
odbcDataAdapter1.InsertCommand.ExecuteNonQuery();
odbcDataAdapter1.Fill(dataSet11);
odbcConnection1.Close();

すると
'System.IndexOutOfRangeException' のハンドルされていない例外が
system.data.dll で発生しました。







[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<230KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef