- 1 名前:デフォルトの名無しさん [2008/01/21(月) 19:35:37 ]
- (#゚ー゚)つ < C#、.NETの話題はこちらでどうぞ。
c++厨の嵐はスルー汁。 前スレ C#, C♯, C#相談室 Part44 pc11.2ch.net/test/read.cgi/tech/1194956418/ その他テンプレ>>2-5くらい
- 632 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 14:59:05 ]
- ウキー
- 633 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 14:59:47 ]
- アホかwwwww
- 634 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 01:20:55 ]
- 否!
- 635 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 02:59:09 ]
- こんなんじあC%#のほうが言い悪いか抜きにして初心者用と相談室のスレ2個あるから発展はあるな。VBなんか終わってるかんじ。
みなで盛り上がろうぜって漢字がまたくない
- 636 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 10:27:48 ]
- 日本語でおk
- 637 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 16:38:52 ]
- VIPでやれ
ニコ厨氏ね 使い古されたセリフだが、真実である。
- 638 名前:デフォルトの名無しさん mailto:sage [2008/03/13(木) 15:59:48 ]
- ふらっとがあればこのスレも不要だな
- 639 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 09:54:08 ]
- コンボボックスに
見た目 値 01:a 1 02:b 2 03:c 3 と入っているときに、 値が2の時に、02:bを選択状態にするにはどうすればいいでしょうか? FindStringで02を指定しても見つからず、combobox.itemsをforeachで 回しても、object型から何にキャストすればよいか分からずでした・・・
- 640 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 09:59:18 ]
- Value とかじゃなかったっけ
- 641 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 10:02:59 ]
- 自分で値入れてるのに何にキャストしていいかわからないってどういうこと?
- 642 名前:639 mailto:sage [2008/03/14(金) 10:08:04 ]
- コンボボックスへのデータバインドは、VSのウィザードでTableAdapter任せで作って
ロジック部分のデータ操作はコードで書いてました。 型はToStringを試してみて、DataGridViewが入ってるのは分かったんですが・・・ 値が取れません><
- 643 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 10:09:06 ]
- >>639
ヒント enum testEnum { あああ = 1, ししし = 2, つつつ = 3 } comboBox1.Items.Add(testEnum.あああ); comboBox1.Items.Add(testEnum.ししし); comboBox1.Items.Add(testEnum.つつつ); 任意の値に設定するとき comboBox1.SelectedItem = (testEnum)2;
- 644 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 10:12:03 ]
- >>642
デバッガでcomboBox1.Items[0].GetType()を見てみれば?
- 645 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 10:13:17 ]
- SelectedValueに2を設定すればOK.
- 646 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 10:28:39 ]
- >>645のやり方でいけました!ありがとうございます
>>643 enum型は一度も使ったことがないので勉強してみます >>644 GetTypeでは取れませんでしたが、ToStringで取得してみたら 謎ですが>>639の型が入ってました
- 647 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 22:58:30 ]
- ふらっと池
- 648 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 23:51:25 ]
- そのうち、フラットで話すべき話題と、このすれですべき話題をテンプレにでも書いといたほうがいいのかもしれない
「ふらっと」 PictureBoxを透過表示することってできますか? 「このすれ」 ExpressionTree、CodeDOM、DLRのASTでできることはどういう風に違うんですか?
- 649 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 17:21:46 ]
- 内容よりC#わかってるかどうかだろ
- 650 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 22:02:25 ]
- Java上がりでC#やってる人に聞きたいんだけど、
C#やってたら、コード読んで流れ掴むくらいならできそうでしょうか?
- 651 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 22:06:10 ]
- 意味が分からん
- 652 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 22:11:50 ]
- 余程の馬鹿でなければ
- 653 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 22:17:30 ]
- C#3.0は結構化けるけど
- 654 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 22:24:48 ]
- javaの文法知らなくても流れくらい分かるだろ
- 655 名前:デフォルトの名無しさん [2008/03/15(土) 22:51:50 ]
- C#2005のメニューから
プロジェクト->Windowsフォームの追加で 「MID親」 を選んで、MainでRunしています。 起動時に子フォームを勝手に起動しますがいったい どこでやっているのでしょうか? InitializeComponet()で勝手にShowNewFormを やっているのだとは思いますがどのあたりなのか さっぱり分かりません。 新しく追加で子フォームを作成したら自動でずらす処理も 邪魔なのでどこでやっているのか知りたいです。 ご存じの方、どうか教えてください。 新しく普通にフォームから作ったほうが早いというのは無しで。
- 656 名前:デフォルトの名無しさん [2008/03/15(土) 22:55:48 ]
- すいません、起動時に勝手に子フォームが起動するのは、
こちらのミスでした。 勝手にずらす処理をやめさせる方法だけ教えてもらえない でしょうか?
- 657 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 22:57:04 ]
- >>650
わからなければjava上がりとはいえない
- 658 名前:デフォルトの名無しさん [2008/03/15(土) 23:50:35 ]
- このスレの住人なら知っていますね、あの糞開発ツールのことを
・自分のプログラムのバグなのかコンパイラのバグなのかわからない ・他の仕事に応用できない糞開発ツールの独自世界を必死に学習している ・テキストエディタで書いたほうが効率的なのに糞UIツールを懸命に使っている 糞だけど、政治的な理由で無理やり使わされているんですよね もういい加減、我慢するのはやめませんか? ・糞開発ツールを部下に押し付ける上司の命令は無視しましょう。 上司は糞開発ツールが使われる実績を作ることであの会社のごきげんをとっているのです。 ・あの糞開発ツール提供会社には「おたくの糞開発ツールは話にならない」と突き放しましょう。 バグレポートなどしてはいけません。改善要求などもってのほかです。 あの会社はあなたたちのことをテスター/モルモットとしか思っていません。 ・あの会議で「糞開発ツールを使ったら生産性がxx%アップしました」 なんて話が出たら力強く机を叩き、会議室を出ましょう。 あの人たちは糞開発ツールをマンセーすることで立場を確保しているのです。 糞な開発ツールを糞だと言える、そんな当たり前の環境をみんなの力で取り戻しましょう。
- 659 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 23:53:18 ]
- コピペ君って馬鹿だな、まで読んだ。
- 660 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 23:54:53 ]
- >>659
死ね
- 661 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 15:12:24 ]
- オーバーフローチェックコンテキスト(checked/unchecked)の状態で
処理を分岐させる方法を知ってる人いたら教えて 検証するタイミングはコンパイル時、実行時のどちらでもおk
- 662 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 15:49:01 ]
- 例外を捕捉すればいいんじゃないの
- 663 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 15:59:05 ]
- それだと、例外が発生しない場合、checkedでオーバーフローがおきてないのか、
単にuncheckedなのか判断できなくね
- 664 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 16:03:54 ]
- bool IsChecked {
get { try { Convert.ToByte(0xffff); return false; } catch { return true; } } } 馬鹿プロパティw
- 665 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 16:06:32 ]
- わざとオーバーフローさせるぐらいしか思いつかんな。
- 666 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 16:44:45 ]
- 自分でchecked{}で括ってしまえばいい
- 667 名前:661 mailto:sage [2008/03/16(日) 17:17:46 ]
- >>662-665
thx! やはりオーバーフローさせてみるしかないのか >>666 ILの生成をコンパイラ任せにするならそれでいいが 動的に生成しようとするとOPコード自体が違うので
- 668 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 17:19:42 ]
- なんか適切じゃない場所で質問しちゃった気がするのでこっちでも
PerlとかRubyでゆーWWW::MechanizeみたいなスクレイパってC#に存在する? それとDB使ったツールを作って配布したいんだけど、PerlとかRubyだと一般ユーザに使ってもらえないので… Rubyで一旦全部書いたんだけどexerbとかrubyscript2exeとか使ってもうまく纏められないのでC#(or その他普通にネイティブコンパイルする言語)で書き直したいんだけど…
- 669 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 17:20:41 ]
- 泥臭いのに変わりはないが、適当な関数のIL覗けばいいんじゃね?
- 670 名前:661 mailto:sage [2008/03/16(日) 18:22:19 ]
- IL見てみたが、コンパイラがコンパイル時に数値式のOPコードを切り替えてるだけで
checked/uncheckedブロック、演算子内に直接書いた式にのみ適用されるみたい だから、>>664みたいなプロパティを作るとコンパイルされた時点で出力が確定してしまう 結論としては、checked/uncheckedはコンパイラに指示するためだけのもので プログラムで利用しようなどと考えてはいけないということか
- 671 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 18:36:31 ]
- そもそもchecked/uncheckedはコンパイル時に静的に決まるものだろ
- 672 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 18:41:50 ]
- #if CHECKED
なんとか #else ができればいいんだろ
- 673 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 19:22:05 ]
- コード中で分岐することに意味があるのはコンパイラのオプションで指定した場合のみってことか
checkedのときはプリプロセッサシンボル定義するだけでよくね?
- 674 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 19:30:23 ]
- プリプロセッサとchecked/uncheckedの処理段階が違うのは気持ちが悪いけどな
- 675 名前:デフォルトの名無しさん [2008/03/16(日) 19:38:38 ]
- 印刷を監視して、何かのプログラムで印刷実行されたらジョブをプリンタに投げる前に
自分で作った処理を行って、それが終了してから 印刷ジョブを投げるプログラム作成したいんですけど 印刷監視とジョブ投げるのにwaitかけるのってどうすればいいんですか?
- 676 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 19:50:03 ]
- 仮想プリンタを作って間に挟むのが
まっとうじゃないかな。
- 677 名前:デフォルトの名無しさん [2008/03/16(日) 21:07:31 ]
- iPhoneのタイマーみたいな慣性で回るドラムを2個まわして
数値を出力させるにはどう考えたらいい? WM6pro用で教えてください。
- 678 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 21:14:32 ]
- そういう風に作る
WM6proがどう関係あるんだろう
- 679 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 22:25:05 ]
- WebBrowserコントロールの設定は、現在のIEと同じ設定になるっぽいけど、
独立して管理することは可能っすか?
- 680 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 22:42:17 ]
- 俺なら可能
- 681 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 23:53:49 ]
- オマイラってそんなにIL覗いて挙動確認したりしてんの?
俺全然やってないんだが
- 682 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 00:00:00 ]
- ILの日本語の資料ってネットで見れるの?
- 683 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 00:03:01 ]
- 別に日本語である必要性はないと思うのだが
- 684 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 00:04:53 ]
- 必要性はなくても、日本語の方が望ましい
- 685 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 00:08:58 ]
- 共通言語基盤の規格はJISにもなってるからネットで読めるんじゃね?
調べたことないけど
- 686 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 00:48:03 ]
- IL見るのになぜ日本語が必要になるのやら
- 687 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 00:51:31 ]
- 日本語を主として使っている民族とっては、ILの説明が日本語でされていた方が他の言語でされているよりも理解しやすいから。
- 688 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 01:07:51 ]
- ILは流れを読むのだから英語でいいでしょう
- 689 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 01:10:03 ]
- 個々のILのニーモニックの説明は英語より日本語の方が日本人には理解しやすいだろう。
- 690 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 01:11:58 ]
- ニーモニック(記憶しやすい)を記憶しやすいのは
その命名元となった英語という気もする。
- 691 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 01:13:57 ]
- 記憶する以前に理解するには、日本人にとっては英語よりも日本語の方が理解しやすい。
- 692 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 01:21:11 ]
- 何この流れ・・・
- 693 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 07:03:19 ]
- ニーモニックの説明で日本語お望みなら
System.Reflection.Emit.OpCodes あたりでもどうぞ。JIS の CLI は有料でしょ確か
- 694 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 09:16:46 ]
- JIS規格はjiscのサイトでみれる
- 695 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 09:55:46 ]
- そいや、ILはVSで対応してないのはいいにしてもMSBuildのタスクも
ないのはどうよと思ったなあ前
- 696 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 22:34:40 ]
- >>683
英語読めないから、日本語のが必要なんです。
- 697 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 23:26:25 ]
- ふらっとでレスが付かなかったので、教えてください。
SQLServerからsmallint型のレコードを取得してC#でint型の変数に入れたいのですが キャストで失敗します。smallint型はshortと同じじゃないのでしょうか?
- 698 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 23:32:14 ]
- >>697
失敗って?
- 699 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 23:33:41 ]
- 実際shortなんだったら一旦shortにキャストしてからintにキャスト
- 700 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 23:42:39 ]
- 会社にしか環境が無いので、エラーの詳細記録してなかったのですが、
型変換できませんでした。的なエラーでした。 もちろん(short)してから(int)でいけますが、アップキャストでなぜ失敗するのか・・・が知りたいと思いました
- 701 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 23:46:30 ]
- 正確な方は SqlInt16、
short へのキャスト演算子の定義はあるけど、int へのキャストは定義されてない とかではなかろうか。
- 702 名前:697 mailto:sage [2008/03/18(火) 00:02:58 ]
- >>701
MSDN参照してもよく分からないのですが、おそらくそのように思えますので、 そういうものだと、納得しておきますf^^
- 703 名前:デフォルトの名無しさん [2008/03/18(火) 00:03:27 ]
- PrintDocumentクラスのPrintメソッドで
印刷処理を作っています。 しかし、印刷を実行するとVB6やDelphiで作成した 印刷処理よりも異常に遅いのが気になりました。 描画を一切行わず、白紙を1ページ印刷した場合 VB6では一瞬で印刷を開始しますが、C#では5秒以上待たされます。 100ページ以上の印刷を行いたいので、この速度では ちょっと使い物にならないので困っております。 速度改善の情報ありましたら教えていただけませんでしょうか。。
- 704 名前:デフォルトの名無しさん [2008/03/18(火) 00:19:22 ]
- www.rossgals.com/fuckfacials/barbie2-489/3.mpg
- 705 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 00:21:39 ]
- 突然怪しいURLを貼るなwww
- 706 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 00:23:13 ]
- なんじゃこりゃww量すごすぎww
- 707 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 00:38:25 ]
- >>703
軽く調べたけど、解決策は見つからなかった。そもそも再現性が(ry とりあえずプロファイルして何が遅いか見極めてくれ。
- 708 名前:703 mailto:sage [2008/03/18(火) 00:46:13 ]
- >>707
ありがとうございます。 プロファイルのやり方がわからないのですが 調べてやってみようと思います。 今、調べられる範囲でわかったことは プリンタの解像度を下げることである程度 体感速度が速くなる、逆に解像度を上げるとさらに遅くなることです。
- 709 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 00:10:00 ]
- ちょっとすみません。mlang.idl を midl しようとしたんですが、途中で
midl\oleaut32.dll : error MIDL2020 : error generating type library : SaveAllChanges Failed : .\mlang.tlb (0x80070005) と出て終了します。原因わかるかたいらっしゃいますか?
- 710 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 00:19:45 ]
- しまった UAC だー! 自己解決すみませぬ。
- 711 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 01:17:43 ]
- すみません。続けてもうひとつ。マーシャリングの質問なのですが、
void DetectInputCodepage( uint dwFlag, uint dwPrefWinCodePage, ref sbyte pSrcStr, // ここと ref int pcSrcSize, ref tagDetectEncodingInfo lpEncoding, // ここに ref int pnScores ); どうやって short[] と tagDetectEncodingInfo[] を突っ込んだらいいのか、だれか教えてください。
- 712 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 01:47:07 ]
- >>711
dobon.net/vb/dotnet/string/detectcode.html
- 713 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 01:50:00 ]
- >>712
それそのままコピペしてるんだけどね、 ref sbyts[0] ここで引っかかる。
- 714 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 01:55:05 ]
- ん? 通った。なぜだ。
- 715 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 09:14:07 ]
- 配列そのまま仮引数に定義するのお勧め
- 716 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 19:08:03 ]
- ListやStackの中身をusingでdisposeさせるにはどうすればいいの?
- 717 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 19:14:20 ]
- 継承してIDisposeableを実装すればいいんじゃねえの
- 718 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 19:14:45 ]
- ListとIDisposableを継承して、Disposeで要素を全部Disposeするクラスを作る。
- 719 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 20:23:08 ]
- using使いたいだけならIEnumerable<T> (where T : IDisposable) をラップするクラスを作って
using (DisposableCollection<Bitmap> a = new DisposableCollection<Bitmap>(list))とか
- 720 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 20:53:15 ]
- static void Using<T>(T collection, Action<T> action) where T : IEnumerable {
try { action(collection); } finally { foreach (var item in collection) { IDisposable disposable = item as IDisposable; if (disposable != null) { disposable.Dispose(); } } } } usingの代わりにこんなの使えばいいんじゃね
- 721 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 21:01:24 ]
- どうもやってみます。
- 722 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 21:03:46 ]
- .net 3.5(たぶん下位でも発生?)
コンソールアプリで sysem.drawing.bitmap をストリームにシリアライズするときに GDI+の一般エラー(General error?)が発生する 同様の現象にブチあたった経験者はおらぬか?
- 723 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 21:20:30 ]
- Bitmapはネイティブなオブジェクトがあるからシリアライズ不可能じゃないかな
- 724 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 21:31:09 ]
- いや,これまでは出来たんだ
きっとこれからも出来ると信じたい そしてなんとなく原因発見 BinaryFormatter bf = new BinaryFormatter(); FileStream fs = new FileStream(@"C:\WINDOWS\迴育栖繧ォ繝繝.bmp", FileMode.Open); MemoryStream ms1 = new MemoryStream(), ms2 = new MemoryStream(); Image img = Image.FromStream(fs); bf.Serialize(ms1, img); // 成功(例外なし) fs.Close(); bf.Serialize(ms2, img); // 失敗(ExternalError: GDI+ で汎用エラーが発生しました。) どうもImageの元のリソースが,シリアライズするときに利用できなくなっていると失敗するみたい? なんか非常にモヤっとするなぁ 引き続き情報求む
- 725 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 21:53:52 ]
- よくみる where T ってのはLINQってやつかい?
- 726 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 21:55:52 ]
- ただのジェネリック引数の制約だよ。
- 727 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 22:10:38 ]
- where T つかうと他クラスの継承できなくなる?方法ない?
- 728 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 22:13:52 ]
- なにゆってんの?
- 729 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 22:14:30 ]
- よく意味が分からんけど
where T はTに対して特定の型に依存した操作を可能にするために使うんだよ
- 730 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 22:20:58 ]
- where Tを使ったクラスを継承したいなら
その制約を継承先のクラスにも付ける class Base<T> where T : string{} class Derived<T> : Base<T> where T : string{}
- 731 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 22:42:02 ]
- まったくどうでもいいがstringで制約したらもはやジェネリックの意味なくね?
- 732 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 22:45:08 ]
- >>724
Bitmapはそのままだとアンマネージドリソースを含むのでシリアライズできない だがStreamから作ったBitmapならそれを使ってシリアライズすることで目的を達成できる しかしそのStreamが閉じてればもうシリアライズできない
|

|