触るな危険って意味がわからないのかな?
>あぁこのフォルダ厄介だぁ
おまえは何を言っているのだ
>>944 コレクションとかIEnumerableを継承しているとプロパティは出力されない
XmlSerializeのトピックに例外事項として書かれているはず。
955 :
デフォルトの名無しさん:2007/01/16(火) 22:09:32
API使ってて、結果の集合を返す関数が提供されているとき
配列で返すなら、List<T>で返して欲しいな。とか思うことありません?
自分でAPI定義してても、IEnumerable<T>で返すか、IList<T>, T[], ICollection,List<T>
どれで返すのか迷ったりしてましたがList<T>で返すと特に嫌がられることってありますかね?
(相手は.Net2.0以降を仮定してもよいとして)
順序さえ分かればいいのであればIEnumerable<T>、序数が重要であればIList<T>で返して欲しい。
クラスで返す必要はないだろ。
クラス内部でListじゃなくて自作のIList実装を使いたくなるかもしれないし
>>956 List<T>ならList<T>で返して欲しいけどなあ。
IEnumerable<T>で返されたらIList<T>やその他のインターフェースのメソッドが一切使えなくなるわけだし。
でも
>>957の言うことももっともかも。
>>944 シリアライズについて詳しくないけど
プロパティって、外部に見せるためのラッパーみたいなものでしょ(表現おかしい?)
で、内部的に保持するidがきちんとxmlとして出力されてるなら
プロパティも仮想的に保持されるし、なにも問題ないんじゃないの?
次スレの季節。
無駄なことで消費が早かった。
>>959 >(表現おかしい?)
なぁ・・・表現だけなのか?
>>959 >プロパティって、外部に見せるためのラッパーみたいなものでしょ
フィールドのように使えるが、実際はメソッド。
メソッドをシリアライズするのか? ということ。
XMLシリアライズについtで勉強して来い
日本語読め・・・XMLは日本語でもねぇな
文字読めるようになってから書け
それ以前にシリアライズが何かが分かってない予感とエスパーしてみる
誰に言ってんのか分からない…
XMLシリアライズは、いわゆるシリアライズのイメージと違う部分が多い。
プロパティのシリアライズなんてそんな感じ。
XMLシリアライズはpublic限定名時点で終わってる
public限定はむしろメリット
Setterさえ制御できれば・・・
オブジェクトを保存するのにその内部状態にアクセスできないのは致命的でしょ・・・
何でXMLシリアライズでそういう話になる?
やりたきゃIXmlSerializablでも実装すれば?
( TДT)ゴメンヨー、内部状態にアクセスできないXMLシリアライズにどういう使い道あるのかまったく分からん。
内部状態にアクセス出来ないって、何からみての話だよ。
意味通じてねーよ
あほか。知り荒いざーから見てに決まってんだろ。
いいから内部状態を再現できないシリアライズに何の意味があるのかとっととかけボケ。
じゃあ何をシリアライズしてるわけ?
976 :
デフォルトの名無しさん:2007/01/18(木) 15:36:37
1000 が近いけれど質問です。
Form1、Form2、Form3 と 3 つのフォームを作り、Form1 と Form2 には button1 を
置きます。また、Form3.ShowInTaskbar = false とします。
Form1 の button1_Click() を以下のようにします。
private void button1_Click(object sender, EventArgs e)
{
Form2 f2 = new Form2();
f2.ShowDialog(this);
f2.Dispose();
this.Show();
}
Form2 では、Form2_Shown() と button1_Click() を以下のように書きます。
private void Form2_Shown(object sender, EventArgs e)
{
this.Owner.Hide();
}
private void button1_Click(object sender, EventArgs e)
{
Form3 f3 = new Form3();
f3.ShowDialog(this);
f3.Dispose();
}
977 :
976:2007/01/18(木) 15:37:51
実行すると Form1 が表示され、Form1 のボタンをクリックすると Form1 が非表示に
なって Form2 が出ます。タスクバーには Form2 のアイコンだけが見えています。
次に Form2 のボタンをクリックすると Form2 は見えたままで Form3 がモーダル
ダイアログとして表示されます。タスクバーには Form2 のアイコンだけ。ここまでは
希望どおりの動作です。
さて、ここでタスクバーの他のアイコンをクリックしてから Form2 のアイコンを
クリックすると、Form3 ではなく Form2 がアクティブになってしまいます。この
状態で [Enter] キーを叩くと Form2 のボタンが押され、Form3 がもう 1 枚開いて
しまいます。
タスクバーの Form2 アイコンをクリックしたら Form3 がアクティブになってほしい
ものですが、いいテはないものでしょうか。それとも私がヘンなコーディングを
している? なお、Form1 を非表示にしなくても同じ動作をするようです。
助けてエロい人。
だからXMLシリアライズはそういう目的のものじゃない、
かつどうしてもやりたかったらインターフェイス実装しろってんだろーがよ
全部無視して意味ねー意味ねーうざいんだよ
>>976 private void Form3_Load(object sender, EventArgs e)
{
this.Owner.Activated += new EventHandler(Owner_Activated);
}
private void Owner_Activated(object sender, EventArgs e)
{
this.Focus();
}
Form3にかけ
980 :
976:2007/01/18(木) 16:15:32
>>979 うまくいきました。他フォームのイベントハンドラを自フォームに記述するという
発想は出て来ませんでした。
これで心置きなく納品できます。どうもありがとうございました。
>>978 だからどういうときに使うのか質問されてんだろが。会話読めボケ。
Webサービスのデータとか
読める形での設定情報の保存とか
パブリックなフィールドやプロパティを
シリアライズ・デシリアライズする場面ならなんでも。
状態を完全再現したけりゃバイナリシリアライズすりゃいい
XMLシリアライズはそういう目的じゃないってだけだろ
>>981 いつそんな質問があったんだよ。
お前が一人でとにかく使えんてわめいてるだけ。
独り言だろそれ
説明したんだから読めよ馬鹿
使い道が分からんなら使うなよ、もう
つーか後から書いてるやつ別人だろ。
今日地震くるの?
世界のどこかであるかもね
梅が咲きましたね
はやく病院へ行け
桜はまだかいな
996 :
813:2007/01/19(金) 11:10:53
>>943 Dictionary<string,IntPtr>
SendMessage(this.textBox1.Handle, WM_SETTEXT, 0, (IntPtr)Marshal.StringToHGlobalAnsi(msg));
Marshal.FreeHGlobal(msg);
こういうことですか?
>>948 SendMessage(this.textBox1.Handle, WM_SETTEXT, 0,msg);
という風に書くことが出来るようになるということでしょうか??
梅といえば桃
>>991 地震は来るものじゃなくて起こるもの。
「その自信はいったいどこから来るの?」とは用法が若干異なる。
ume
デスマーチ梅
1001 :
1001:
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。