[表示 : 全て 最新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

92 名前:デフォルトの名無しさん [04/03/29 20:09]
クラスライブラリプロジェクトでせっせと /// <summary> などのコメントを記述しています。
同じプロジェクト内では記述したコメントがヒントに表示されるのですが、クラスライブラリを
参照設定した他のプロジェクトではヒントにコメントが表示されません(引数の型とかはちゃんと
出ます)。コメントまではヒントに出てこない仕様なんでしょうか。その割には System.何とかの
クラスにはちゃんとコメントが出てきますよね。何が違うのか。。。

93 名前:デフォルトの名無しさん mailto:sage [04/03/30 04:28]
>91
それは経験で身に付けるしかない。
一応コツとしては
・名前が付けられるものはクラスにする
・複数あるものはクラスにする
・動作の対象となるものは、その対象自身に仕事をさせる
とかかな?


94 名前:デフォルトの名無しさん mailto:sage [04/03/30 07:47]
>>92
ソースをコンパイルするときにXMLドキュメントファイルを出力しといて、
(コマンドラインコンパイルなら/docオプション)
hoge.dllに対してhoge.xmlって名前でhoge.dllと同じディレクトリに置いてhoge.dllを参照設定。


95 名前:92 mailto:sage [04/03/30 11:34]
>>94
うまくいきました。ありがとう。

96 名前:デフォルトの名無しさん [04/03/30 22:00]
助けてほしい。何度もぐぐったりしているけど、XML読み込みが良くわからない。
例えば、以下のXMLファイルを読み込んで、出力するコードを教えてください。
正直、解説見てもわけがわからんです。これなら手で書いたほうが早いです。

◆出力例
一人目 名前「モナ山 茂名」 生年月日「2000年 2月29日」
二人目 名前「ギコ猫 義子」 生年月日「1900年12月31日」

◆XMLファイル
<?xml version="1.0" ?>
<list>
<person>
<name>モナ山 茂名</name>
<birth year="2000" month="2" day="29" />
</person>
(略)
</list>

97 名前:デフォルトの名無しさん [04/03/30 22:11]
PictureBoxの絵の余白部分にマスクをかけて
透過させることってできますか?

98 名前:デフォルトの名無しさん mailto:sage [04/03/30 22:33]
>>97
MakeTransparent

99 名前:デフォルトの名無しさん mailto:sage [04/03/30 22:40]
>>96
string xmlName = @"C:\Documents and Settings\****\XML ファイル名";

XmlDocument xdoc = new XmlDocument();
xdoc.Load(xmlName);
XmlElement elem = xdoc.DocumentElement;

int i = 1;
foreach(XmlNode person in elem.GetElementsByTagName("person"))
{
Console.Write("{0}人目 名前「{1}」 生年月日「{2}年 {3}月{4}日」\n",
i,
person["name"].InnerText,
person["birth"].Attributes["year"].Value,
person["birth"].Attributes["month"].Value,
person["birth"].Attributes["day"].Value);
++i;
}


100 名前:デフォルトの名無しさん mailto:↑ [04/03/30 22:44]
>>99
サンクスコ!foreachでperson要素の数だけループさせて、
personという変数に代入して、personのもつ
name要素の中身、birth要素のyear属性の値・・・を表示させているんですね。
Veryわかりやすい。ありがとうございました



101 名前:デフォルトの名無しさん mailto:sage [04/03/31 17:56]
早速今日、>>99氏のコードを試してみた。
ものすごく望みどおりに改造することが簡単だった。ありがとう。
なんかJavaScriptを使ったDOMと同じ感じでできたので簡単だった。
@ITとかで勉強してたけど、こんなに簡単にできるなんて、感動だった。
本当にTHANX!

102 名前:デフォルトの名無しさん mailto:sage [04/04/09 14:46]
this.Hide();を2回実行しないと消えてくれないんですけど何で?

103 名前:デフォルトの名無しさん mailto:sage [04/04/11 16:29]
今月、電話代ちょっと多すぎるんだけどなんで?

104 名前:デフォルトの名無しさん mailto:sage [04/04/11 20:19]
最近C#の人気がないと思う

105 名前:デフォルトの名無しさん mailto:sage [04/04/12 00:18]
いつに比べて?

106 名前:デフォルトの名無しさん [04/04/18 17:27]
Process p = new Process();
p.StartInfo.FileName = @"C:\program\katjusha.exe";
p.Start();

という感じで起動した子プロセスのウィンドウを
最小化したり、元に戻したり、隠したりするにはどうしたらいいですか?

起動前ならStartInfoで設定できると思うのですが

107 名前:デフォルトの名無しさん mailto:sage [04/04/19 01:33]
.NETは安全性重視だから、勝手に別のソフトのウィンドウを操作するのは良くなくて、
そういうことをしたいならやっちゃいけないことをやらなきゃいけなくて、
そうなると.NET以外の方法を使うことになる。

108 名前:デフォルトの名無しさん [04/04/19 23:44]
>>107
サンクス。となるとC++とか使うしかないんですか?

最小化しかできないソフトを通知領域に入れる(駐在させる)ためのソフトを
作ろうと思ったのですが…。

109 名前:デフォルトの名無しさん [04/04/20 11:20]
C#ではコマンドメッセージの代わりになに使えばいいんすか?

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が正しい値かどうかを調べるにはどうしたらいいんですか






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

前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