1 名前:デフォルトの名無しさん [2008/02/22(金) 12:14:02 ] 前スレ VB.NET質問スレ(Part24) pc11.2ch.net/test/read.cgi/tech/1197507828/ テンプレは2〜5くらいまでの間にある予定
237 名前:デフォルトの名無しさん mailto:sage [2008/03/13(木) 11:58:36 ] >>236 レスありがとうございます。 普通の値型のIntegerとかの動作でなら ByValの時に変更できないByRefの時は直接変更される というのも納得できるのですが Objectのインスタンスを渡したときの動作がなんとなく違うと思うんです。 Objectを値型で渡し、渡した先でプロパティを変更すると渡したもとのプロパティも変更されているようになりますよね? 参照渡しでも同様だと思います。 ではなぜXXXで操作した結果が異なるのか・・・この場合 単純に参照渡しだから直接元の参照位置をNULLにする=渡した元のオブジェクト変数のメモリ参照がNULLになる としたら 値渡しの場合・・・・どうなるんでしょう?
238 名前:12 mailto:sage [2008/03/13(木) 12:01:38 ] >>235 逆に聞くが、お前が何故疑問に思うのか分からない。 関数を経由させずに考えるんだ。 dim a1, a2 as class1 a1 = new class1() a2 = a1 '現在のa1の参照を代入 a2 = nothing 'null参照を代入、つまりa2の参照するオブジェクトが変更されただけ このときa1の参照がNothingになったらおかしいだろ? 参照渡しのときは a1 = new class1 a1 = nothing こういう結果になっているだけだ。 おそらく次のケースと混同しているんだと思うが、 dim a1, a2 as integer() a1 = new integer() { 0, 1, 2, 3 } a2 = a1 a1(2) = 5 このときというのは、a1及びa2が参照しているものが一緒。 んで、その参照しているオブジェクト自体を変更している。 ゆえに当然どちらの参照もinteger() { 0, 1, 5, 3 } となる。
239 名前:238 mailto:sage [2008/03/13(木) 12:06:20 ] >>237 やっぱりそういうことか。 根本的なオブジェクトと参照という概念のとらえ方が違う。 オブジェクトの参照先を変更するのと、オブジェクトを変更するのとでは全く違うぞ。
240 名前:デフォルトの名無しさん [2008/03/13(木) 12:09:24 ] >>237 単純に、値渡しの場合 新たにインスタンスがその処理内で作成される、 と考えればよいのでは。 コンパイラーがそう作られている。と
241 名前:デフォルトの名無しさん mailto:sage [2008/03/13(木) 12:15:38 ] >>238 あ〜!!!!! すっごい納得がいきました。 素人みたいな質問で申し訳なかったですが・・・ スッキリしたんで助かりました ありがとうございました。 PS.おっしゃる通り後者と混同してました
242 名前:デフォルトの名無しさん mailto:sage [2008/03/13(木) 12:20:08 ] >>239 >>240 遅くなりましたがレスありがとうございます。 完璧に勘違いしてました すっごいお恥ずかしい話ですが…・
243 名前:デフォルトの名無しさん [2008/03/13(木) 12:39:19 ] > Objectを値型で渡し、 > 渡した先でプロパティを変更すると > 渡したもとのプロパティも変更されているようになりますよね? 出来たことに驚き・・; 知らなかった。 素人が変なこと書いてすみません<(_ _)> >>240 は無視して下さい。
244 名前:デフォルトの名無しさん [2008/03/13(木) 15:24:01 ] 引数のbyRef,byValの他にもこれが関係してるんじゃないの? www.microsoft.com/japan/msdn/net/vbnetref/vbnetref3-2.aspx
245 名前:243 [2008/03/13(木) 16:35:34 ] 横からすみません。 >>244 参考にさせていただきました。 そして、 www.microsoft.com/japan/msdn/net/vbnetref/vbnetref3-6.aspx#3-6-4 図 3-18 値型と参照型の引数 (配列の例ですが) 参照渡しの場合 呼び出し側で生成したインスタンス=ポインタ変数。 で、ポインタ変数そのもののアドレスが渡される。 値渡しの場合 ポインタ変数の中身(呼び出し元のインスタンスのアドレス)が渡される。 渡されたアドレスの入れ物はSub内に作られる。 そこで 参照渡しでも値渡しでも 呼び出し側で生成したインスタンスのアドレスを扱うことになるので どちらの場合でもインスタンスのメンバーを操作できる。 しかし 値渡しの場合、 Sub側では、呼び出し元のポインタ変数の内容、をクリアすることは出来ない。 という事で・・・ 余計な一言を追加します。すみません。<(_ _)>
246 名前:デフォルトの名無しさん mailto:sage [2008/03/13(木) 18:50:20 ] .NETでは参照渡し(参照型の値渡しじゃなくてByRefの方)は滅多に使わない C#と違って呼び出し側から見分けがつきにくいし
247 名前:246 mailto:sage [2008/03/13(木) 19:02:25 ] 参照型の値渡しじゃなくて,参照型のオブジェクトへの参照の値渡し (ByVal a As Objectみたいなの)というべきか ややこしいなあ
248 名前:デフォルトの名無しさん mailto:sage [2008/03/13(木) 19:11:50 ] >>246 C#も.NETなんですが・・・
249 名前:デフォルトの名無しさん mailto:sage [2008/03/13(木) 19:15:03 ] c#にはoutってのがあってだなあ・・・ まあ調べれば分かると思うけど>>246 の言うとおりだよ
250 名前:デフォルトの名無しさん mailto:sage [2008/03/13(木) 19:16:36 ] >>248 246の言う.NETはVB.NETの省略だろう。
251 名前:246 mailto:sage [2008/03/13(木) 20:16:06 ] いや.NET全般のことを指して言ったんだ。C#でもあまり使われないよ。 コピーが嫌なら構造体じゃなくてクラスを使えばいい。 それに加えて,VBでは呼び出し側から参照渡しなのか値渡しなのか見分けられない欠点がある。 (C#ではメソッドを呼び出すときに参照渡しの引数にはrefやoutをつける必要がある) Dictionary.TryGetValueみたいなのはあるけどあくまで例外。
252 名前:デフォルトの名無しさん mailto:sage [2008/03/13(木) 20:53:59 ] >>246 の日本語が崩壊してる点
253 名前:デフォルトの名無しさん mailto:sage [2008/03/13(木) 21:02:30 ] >>251 どういう根拠でそんなこと言っちゃってんのよ。 初級程度のコーディングなら参照渡しはあまり使われないのかもしれんが、 "構造化プログラミング"というものを突き詰めていくと、参照型の参照渡しが必要になることは結構ある。 単純なプログラムしか書いたことない人間には想像つかんのだろうね。 OOPを理解できている奴の自作ライブラリとかで、しばしば参照型の参照渡しを見ることがある。
254 名前:デフォルトの名無しさん mailto:sage [2008/03/13(木) 21:25:59 ] それはちょっと信用できなさすぎる例ではないか
255 名前:デフォルトの名無しさん mailto:sage [2008/03/13(木) 21:31:10 ] 中では必要に応じて使うけどライブラリで外に見せるのは格好悪い
256 名前:デフォルトの名無しさん mailto:sage [2008/03/13(木) 21:48:55 ] >>253 むしろ「可読的コーディング」を突き詰めればそんなことは「したくない」と思うのが普通だろうし、 そもそも必要になることもまず無いと思うけどねw まあ確かに俺自身、「例外を起こす代わりに例外オブジェクトを返り値として返す」 といった場面でしばしば使ってるけど、メソッドの直感性を考えたらこんなことはしたくないのが本音。
257 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 07:43:14 ] まぁ、世の中にはガベージコレクションがない言語もあるわけで。
258 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 07:45:25 ] EVENTを自分で作る利点をWEBで調べたけどいまいち理解が難しい 管理が簡単になるってことかいな、関数を自分でつくってもやれそうなのに
259 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 08:02:29 ] そりゃ何か状態の変化を通知したいからだろう 利点とかの問題ではない
260 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 08:04:09 ] >>259 どうやって確認しますでしょか? コードでのデバッグでしかわからないですかね
261 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 08:09:21 ] ・・・? 確認ってなにを? 色々説明が足りてない気がするので詳しく
262 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 08:12:21 ] >>261 すません、 確認って言うのは状態の変化を確認するって言うことです 参考書とか見ても何かのイベント(たとえばClick)を実行して、それにつづけてRaiseEventを実行してるってのが多かったので
263 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 08:28:49 ] >>258 多分、というか確実に、それは「イベントを自作する利点」が分かってないのではなく、 イベントそのものの意義が分かってないだけだね。 イベントの実態は確かに相手のメソッドを呼び出しているに過ぎないわけだけど、 イベントの利点は、イベントを起こすオブジェクトのコードを書いている時点で 「相手」のことを知らなくていい点。 イベントをモーニングコールに例えるとして、 ホテルに就職した時点でモーニングコールの相手がプログラムされてるホテルマンは使えないでしょw モーニングコールを欲しい人自身が、ホテルマンの予定帳に自分の番号を「登録」できないと困る。
264 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 09:24:27 ] もっと具体的な例を挙げるとすると、モードレスダイアログなんかがいいか。 ShowDialogじゃなくてShowで表示するサブフォーム。IEの検索ダイアログみたいな。 モーダル(ShowDialog)なら入力文字列プロパティを用意しておけばShowDialog呼出し後に呼び出し元が勝手に取っていくけど、 モードレスの方は「検索」ボタンが押されたことを通知する必要がある。 このときにイベントを発生させる。SearchClickとかそんな感じの。 呼び出し元はこのSearchClickイベントで検索を開始する。
265 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 10:33:21 ] >確認って言うのは状態の変化を確認するって言うことです オブジェクト自身が自分の状態の変化を見て、イベントデリゲートを実行するんだよ。 オブジェクト外から変化を確認するってのはナンセンス。それイベントじゃないよ
266 名前:デフォルトの名無しさん [2008/03/14(金) 10:43:00 ] WindowsServer2003には.NETFramework2.0はプレインストールされて ましたっけ?(WindowsServer2008には確かにされているけど) でもFrameworkのインストール自体はMicrosoftUpdateとかで簡単に インストールされるからインストールの手間とか気にする必要はないのかね?
267 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 10:43:41 ] >>258 デリゲートの概念が全く分かっていないからだ。 つか、利点が分からないようならイベントを自作する必要に迫られていないということだから、 別に作らなくていいじゃん。 カスタムユーザーコントロールを自作するようになったときに、イベントデリゲートが必要になるときがくる。 OOPが分かってくるようになったらそのときには分かると思うから、今は気にしないことだな。
268 名前:12 mailto:sage [2008/03/14(金) 10:48:49 ] >>266 気にする必要なし。 うちの会社では俺がシステム管理者なんだが、HFSLIPでNFX20SP1と30SP1と35を 全部統合インストールするようにカスタマイズしているし。 そうじゃなくたってNFX20SP1のサイレントインストールパッケージを作っておいて それを実行させるだけならワンタッチでいけるっしょ。
269 名前:デフォルトの名無しさん [2008/03/14(金) 10:57:02 ] >>268 おお、サンキュウ!そういうものなのか。
270 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 11:46:41 ] イベントってデリゲートが隠されてるから余計分かりにくいんだよね 実体はデリゲート専用の特別なプロパティみたいなもの
271 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 12:38:23 ] >>270 そりゃおかしい。 そもそもイベントとデリゲートでは概念の抽象度が違う。 List(of T)って配列が隠されてるから余計分かりくいとか、 配列ってメモリ確保とポインタ操作が隠されてるから余計わかりにくいとか 普通は思わないでしょ。
272 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 12:46:08 ] >>264 それイベントの利点の説明になってないことないか?w イベントの利点は263にあるとおり、依存関係を逆転させされることだよ。
273 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 12:46:48 ] デリゲートとイベントの違いってフィールドとプロパティの違いみたいなもんだよ どのみちデリゲートの存在を意識しないといけないでしょ
274 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 16:11:43 ] deligateって、ただの引数の順列を定義しただけの「型」宣言だと腿ふんだが。
275 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 18:28:00 ] >>273 だから抽象度が違うってw イベントはデリゲートを「利用」してるだけで概念的には全く別物。 メソッドは内部で変数を使ってるから変数みたいなものだ、というぐらいトンチンカンな 物言いだぞそれ。 っていうかイベント使うときにデリゲート意識するかよ。 少なくとも意識「しないといけない」か?
276 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 18:30:09 ] C#だとデリゲート型は意識しないといけないな 匿名メソッドや型推論で緩和されたが VBだとHandlesがあるから意識度は一段低い
277 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 18:33:14 ] >>275 AddHandlerとかAddressOfとか使うんだからデリゲート意識するだろ普通。 あ、そうですか。イベントハンドラ作成のときは全てIDEに任せる初心者でしたか、失礼しました。
278 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 18:46:33 ] >>277 だからそれは「使ってる」だけでしょ。 Integerを引数にとるメソッド呼び出しを書くときに君は「Integerの存在を意識する」の?w まあ言葉遣いの問題かもしれんが、 普通「意識」っていう言葉はそういう場面で使わないだろう。
279 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 19:11:27 ] イベントを自分で作るときの話だろ 使う分には理解してなくてもいいけど作るなら仕組みをきちんと理解しないと Public Event MyEvent As EventHandler これだけ見たら「イベントはデリゲート型のPublicフィールドなんだ」と誤解しそう
280 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 19:15:27 ] >>279 作るときは尚更意識しないと思うけどね。 カスタムイベントのことをいってるのなら同意するけども。
281 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 19:15:57 ] Public Event MyEvent(sender As Object, e As EventArgs) なら?
282 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 19:18:39 ] 今まであまりイベント作成時にデリゲート意識してなかった者なんですが、 イベントでデリゲート使ってるってことは、共通のリソースに対してイベントを 発生させた場合には競合状態も発生しうるっていう認識でよろしい? 危なそうならSynLockあたりかけておくのが基本なんですかね?
283 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 19:21:59 ] >>278 >イベントはデリゲートを「利用」してるだけで概念的には全く別物。 VB脳の恐ろしさが分かる発言だな。 お前が何と言おうとイベントの実体はデリゲート。 「デリゲートを利用してるだけ」なんて発言からレベルの低さが見て取れる。 お前がデリゲートを意識しないでもイベントを扱えてるからといって、嘘を言ってはいかんよ。
284 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 19:23:44 ] イベントハンドラ(デリゲートの呼び出し対象)は通常はそれを呼び出したスレッドで実行されるよ カスタムイベントアクセサ使ったイベントを一度自分で作ってみたら イベントとデリゲートの関係は完璧に理解できるからやってみるといいよ
285 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 19:27:59 ] >>283 自分の無知と無分別を自覚できない君は幸せでいいね VB脳ってお前のことじゃんw というか、別の概念だから別の名前が与えられているんだけどね。 まあ君は抽象化ということの意味が分からないのだろう。
286 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 19:39:52 ] イベントはデリゲートを登録解除する機能 だけどまあ根本的な概念の方が重要だわな
287 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 19:40:45 ] デリゲート型のpublicフィールドを使ってもイベントは実現できそうだけど それだとクラス外から好き勝手に書き換えたりできちゃうから イベントハンドラを追加するメソッドや削除するメソッド(アクセサ)を使って仲介して 直接デリゲートに触らせないようにするんだよ それらのアクセサをひとまとめにしたのがイベント コンパイラがデリゲート型の変数やアクセサを自動生成してる
288 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 19:44:54 ] >>285 涙目wwww
289 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 19:54:32 ] まあ正直いうとイベントとデリゲートの区別がつかない人の気持ちは一応わかる 俺も最初そうだったから。 そういう人は抽象化という発想が理解できてないこと以上に、 イベント以外のデリゲートの用途が想像できないんだろうな多分。 そういう人は匿名メソッドでも理解すれば自分の勘違いに気がつくんじゃないのかな。
290 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 19:58:24 ] 抽象化は抽象化でもカプセル化と言ったほうが適切
291 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 20:05:29 ] graphicsつかって線引いたりしたのがウィンドウサイズとか変えると消えるのって そのたび書き直さなきゃいけないの?
292 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 20:06:55 ] うん それが嫌ならBitmapに描いてPictureBoxにでも入れとけ
293 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 20:22:35 ] >>289 カプセル化くらいで何を偉そうに。 カプセル化なんぞOOPの基本だろうが。 自分が中級プログラマだと勘違いしているやつの典型的口調だな。 最近匿名メソッドを覚えたことでちょっと優越感を覚えている感じかw
294 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 20:29:48 ] ふーん偉そうに他人を「偉そうだ」と言うのは偉そうじゃないんだ。 本当馬鹿ってのはどうしていつでも自分自身の言葉を自分に適用できないんざんしょ不思議。 まあ基本であることに全然異議はないんだけど、その基本すら理解できない御仁がいらっしゃるから 「偉そうに」貴殿はまちがっておられるぞよ、と進言差し上げたしだいなんでございますがね。
295 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 20:37:12 ] >>289 随分必死だなお前。 msdn.microsoft.com/library/ja/default.asp?url=/library/ja/cpref/html/frlrfsystemwebuiwebcontrolsbuttonclassclicktopic.asp msdn.microsoft.com/library/ja/default.asp?url=/library/ja/cpref/html/frlrfsystemeventhandlerclasstopic.asp どうみてもデリゲートです。本当にありがとうございました。 「全く違う概念」とか「デリゲートを利用してるだけ」とかいうから突っ込まれるんだよ。 >>283 の言っていることは正しい。 定義を読んでみると間違いなく実体はデリゲートだな。 要するに外部からは追加削除を許可して、自由に呼び出したりできないように制限されたデリゲートなんだよ。 まあ目的がカプセル化だということは知っていたみたいだが、「全く違う概念」という発言は明らかに間違い。
296 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 20:38:56 ] >>294 涙目で逃走wwww
297 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 20:48:10 ] Public Custom Event MyEvent As EventHandler AddHandler(handler As EventHandler) End AddHandler RemoveHandler(handler As EventHandler) End RemoveHandler RaiseEvent(sender As Object, e As EventArgs) Console.WriteLine("イベント発生") End RaiseEvent End Event やろうと思えばこういうこともできるが // 意味があるかどうかは別
298 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 20:48:51 ] >>295 まあ馬鹿がそう思いたいなら思うのは止めんよ別に。 好きにすれば? まともなプログラマで君の意見に同調する人間がいるとは絶対に思えないけどw 本当に馬鹿だな。 カプセル化が基本とか言ってる割に物事を抽象化・概念化するってことの意味が全然わかってないじゃんw
299 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 20:50:20 ] >>295 まあそういうことだな。 ただカプセル化されただけのデリゲートとそうでないデリゲートを ”根本的に違う概念”と言っちゃったのが間違いだったな。 public readonly Str as string public str as string この二つを全く違うと言っているようなもんだ。 どっちもStringには変わりない。 これと同様に、event修飾子があるかないかだけで実体はデリゲートには変わりないよな。
300 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 20:51:46 ] 引っ込みが付かなくなって発狂している>>298 がいると聞いて飛んできました。
301 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 20:53:08 ] >>298 完全に日本語が崩壊してるなw
302 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 20:53:31 ] >>298 の人気に嫉妬
303 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 20:54:18 ] >>299 君もアホだなあ。。 イベントが「デリゲート」を使って実現されいるということと、 イベントという概念が何を意味しているかは全然別の問題。 だから前にも書いたが、配列の「実体」はメモリ確保とポインタ操作だが、 「配列」という概念はポインタという概念とイコールなのかよって 馬鹿な奴ってのはこういう抽象的思考ができないから馬鹿なんだよね。
304 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 20:56:14 ] もっと低レベルなたとえが必要かもしれんね。 車の機能はエンジンを使って実現されているが、「自動車」という概念と 「エンジン」という概念はイコールなの?
305 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 20:56:15 ] >>303 巛ミヾヾ \ / ミ ヽ f, ミ } ┏v'┳_━━━ r、 | yバノ゙’' ̄ ''' } }゙ } ‘ーj`' : // / L_ヽ i V / (" ` ! _/ \ _,. -‐ '  ̄ !_ /|~ /  ̄ \ ヒッシ・ダナー [Hissy Danner] (1901〜1997 イギリス)
306 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 20:59:03 ] そういうのは人に「必死だな」と言われれば傷ついちゃう弱っちい自分を語ってるだけだと思うよw 必死だったら何?
307 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 21:01:34 ] >>303 何"イベントという概念"ってwwww PGならイベントといったらEventHandler<T>のことを指すもんだと思っていたが・・・ VB脳恐るべし。
308 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 21:03:57 ] >>304 論理のスリ替えにワロタw そろそろ可哀想を通り越してあきれてきたぞw
309 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 21:12:13 ] VBスレってガキオヤジが多くてこまるな
310 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 21:19:12 ] 用語の問題だったらたったこれだけのこと デリゲート : 型の種類。クラスや構造体や列挙体と同列。 イベント : 型のメンバの種類。プロパティと同列。
311 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 21:32:32 ] >>310 そういうのはただの分類学だね。 そういう分類上の問題じゃなくて概念の問題なんだけどね。 構造体は「構造体」という概念(概念が難しければアイデアと言い換えてもいいけどね)に意味があるのであって 「構造体とは型の種類である」などと言っても意味がないのと一緒で。
312 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 21:35:37 ] >>292 そうか、産休 線を書き直すようにする どうせ何度でも書き直すのはPCだし
313 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 21:45:33 ] 粘着キチガイが沸いてるな
314 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 21:49:00 ] いろいろわかんないことありすぎるが、仕事は上流に近いことをするので最低限のことを覚えるつもり 仕様書とかネゴはきつい
315 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 22:09:45 ] ,r;;;;ミミミミミミヽ,,_ ,i':r" ノ(`ミ;;, 彡 ⌒ ミ;;;i 彡 ,,,,,、 ,,,,、、 ミ;;;!、 ,ゞi" ̄ フ‐! ̄~~|-ゞ, ヾi `ー‐'、 ,ゝ--、' 〉;r' `,| / "ii" ヽ |ノ ∧、 't ー―→ )/イ ∧_ /⌒ヽ\ ヽ、 _,/ λ、 . . //~⌒ヽ |( ● )| i\ _,,ノ|、  ̄/// / \ /i |( ● )| \_ノ ^i | _,,..r''''" ノ | \`', / / / ̄`''ー | i^ ゝ_ノ |_|,-''iつl/´ ヽノ| /\ / 、│ l⊂i''-,|_| [__|_|/〉ヽ、 / |/ );;;;/\/ 'く /〈\|_|__] [ニニ〉 ', ヽ. | /⌒| / ゚/ / 〈二二] └―' '─┘ ナン・トーユー・キティ GUY[Num tooyou kitty GUY] (1847〜 大韓民国)
316 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 22:11:35 ] ,,ィ≦テ三三テ≧ュ- 、 ィ州ii} |!{ヾ(((ヾ(((ハ三ミミ 、 〃/ノノリ |ヽ.._ノヽ }}ミミミミh、 〃//〃 | ヽ=ノ ;'⌒ヽ}}ミl、 ,}}| 川|{ ノ ((⌒ ノ }}}li /川||}!}i|  ̄ }州 レ {!州!| ,x‐  ̄ ヽ ,.z==〃/ l!( リノ川 <( ハ〉 ノ { ,ィTヽ / トvソノ}}ハ)、  ̄ ノ l ` ̄ { ))ト〃 }|::ヽ i ′ /ノ》州}}}ィ::、 イ l ′ ((∧ 州}ソ,ノ / ` = _ノ ′ } \ ヾィ ノー- __ - ,' ′ \ ` 、 -‐- イ ′ \ ` __ ,/ l ′ \ ヽ | モーネ・アホカト[Maulnen Ahoccato] (1666〜1738 フランス)
317 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 22:31:02 ] 幼稚臭
318 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 22:51:01 ] >>312 そのためのPaintイベント
319 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 00:17:40 ] 303と307が違うことを説明してるけど 俺はどっちも正しいこと言ってると思うよ。 303が言いたいのはプログラムにおけるイベントとデリゲートの違いで 307が言いたいのはVB.NETにおけるイベントとデリゲートの違いでしょ。
320 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 03:53:34 ] >>319 正しい正しくない以前に、>>303 は馬鹿とかアホとか連発してるところが幼稚すぎる。 どんだけ必死なんだと。 あと、.NETでイベントと言えば俺はbutton.Clickとかそういうイベントデリゲートを想像するけどな。 少なくとも本当に分かっている人間だったら捉え方の違いだってことはすぐに気づくだろうし。 「イベントとデリゲートを一緒の仲間と考えるなんてバカじゃね?」とか必死に連発するってのは やっぱり意味不明だな。 それはすなわちイベントデリゲートという言葉の存在意義を100%否定していることになる。
321 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 08:53:29 ] デリゲートの事を分かってない俺からすると、 お互い違う論点で争っているだけにしか見えない。 車は車であってエンジンが有るか無いか知らなくても運転できる、と言う主張と、 エンジンの事わかってなくて車の性能は引き出せないだろ、という主張 デリゲート童貞の俺を惑わせないでくれw
322 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 09:50:12 ] dllのファイルバージョンを取得する方法がわかりません。 さっきからGoogleで調べてるのですが・・・。 ご存知な方がいらっしゃいましたら教えていただけると助かります。
323 名前:322 mailto:sage [2008/03/15(土) 09:53:27 ] 見つけました 失礼しますた^^ FileVersionInfo info = FileVersionInfo.GetVersionInfo("");
324 名前:デフォルトの名無しさん [2008/03/15(土) 10:55:45 ] やっぱり、deligateって、ただの引数の順列を定義しただけの「型」宣言だと腿ふんだが。 これって違うの?
325 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 11:16:16 ] 重要なのはそれを呼び出せること
326 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 11:25:29 ] デリゲートは型 型だからインスタンスを作れる そのインスタンス自体もしばしばデリゲートと呼ばれる
327 名前:デフォルトの名無しさん [2008/03/15(土) 11:50:41 ] >>325 もちろん宣言だから、そこに修飾子つきでスコープがあれば それなりに使えてそれでその型になるようにインスタンスなりイベント なりを宣言できるってだけかと >>326 それで、たまたまあるイベントが「定義された」ときにそれがその型に ある引数をもてるようになるってだけですよね、 でここまでの混乱した話って、要するに、その、 「そのインスタンス自体もしばしばデリゲートと呼ばれる」 ってことにあるだけのように見えますよね。この受け取り方でOK ですよね?
328 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 13:22:18 ] イベントはデリゲート(型のことじゃなくて機構の意味で)を使って実装される プロパティと違ってイベントの実装を変えることなんてあまりないから VB.NETやC#ではイベントを定義したクラス内でなら通常はそのイベントを あたかもデリゲートのフィールドのように扱える(実際はコンパイラが頑張ってる) そのへんが混同しやすいところではあるけど混同してもなんとなく使えちゃうようになってる
329 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 13:45:17 ] なんか倒錯してる奴が多いね そもそもインスタンスが何者であるかを表現するときに 型名と違う呼称をする型ってあるのかよw たぶんこういう人は、プログラムミング言語におけるデータ型であれなんであれ、 「機構」というものは、まず最初に概念なり理念なりアイデアなりがあって、それを実現されるために 生み出されたものだ、という物事の順番がわかってないんだろうね。 だからくだらない分類学にとらわれちゃう。 「整数型」とか「配列」とか「ポインタ」とか「FIFO」とか「デリゲート」とか「イベント」だとかは 概念なりアイデアの名前だってことがわかってないから、それが型だとか何だとかいう分類学に意味があるように 勘違いしてしまう。
330 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 13:57:06 ] そうだね
331 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 14:22:16 ] >>329 >なんか倒錯してる奴が多いね でたよ勘違い思考が。 お前さ、自分一人が他の100人の主張と違う状況だったとしても 「周りの奴らはみんな馬鹿だ。俺が絶対正しいのに。馬鹿ばっかりで困っちゃうよ全く。」 という思考しかできないタイプの人間なんだな。 100人とは言わないまでも、多数の反論が出ているんだから少し自分の間違いの可能性を考えるのが普通。 ま、VB脳どうこうではなく、それ以前の「人間」としての資質の問題だったようだ。 こういう奴には何を言っても無駄だから以後スルーを推奨したい。
332 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 14:38:10 ] 御託はいいから具体的な反論は? いやまあできんのなら無理すんなw っていうか「スルーを推奨したい」だってさw だからそういうのはみんな(そもそもどこの「みんな」なんだかw)に 仲間はずれにされれば傷つく弱っちいお前自身を語ってるだけ。 中学生かよホントw
333 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 14:55:53 ] いやまあ土曜日の昼下がりから粘着キティが脂っこいこと。 ひきこもって俺的持論展開してないで外出ろと。 あ、俺?デスマーチ中で会社で徹夜明けだよ。 2chでキティ相手でもしないとやってられんわ。
334 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 16:35:28 ] 休みだから外出ろってのもどこの小学生だか
335 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 14:28:54 ] ComboBoxへのデータ追加について教えてください。 1)DataSourceに接続して2000件程度セットすると表示に2秒ほどかかる。 Select ID, Name From Table; 2)同じSQLで1レコードずつ読んでItems.Addすると1秒かからない。 BeginUpdate ComboBox.Items.Add(); EndUpdate; 2)でBeginUpdate, EndUpdateしないと遅くなるのは分かりますが、 1)の方法で速度を速くする方法はあるのでしょうか。 2000件ComboBoxにセットするのはテストのためですので・・・突っ込まれるといけないので念のため。
336 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 05:12:14 ] VBからC#に転向しました。今までありがとうございました。
337 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 10:05:14 ] 両方使えて当たり前