1 名前:デフォルトの名無しさん mailto:sage [2015/07/25(土) 16:14:05.15 ID:I42JqLkf.net] ■Visual Studio 2013 Community & Express(無償の統合開発環境)等はこちら www.visualstudio.com/downloads/ ■コードを貼る場合はこちら ideone.com/ ■前スレ C#, C♯, C#相談室 Part87 [転載禁止](c)2ch.net peace.2ch.net/test/read.cgi/tech/1427558696/ ■次スレは>>970 が建てる事。 建てられない場合は他を指定する事。
367 名前:デフォルトの名無しさん mailto:sage [2015/08/08(土) 11:20:02.19 ID:uyIUSJEf.net] const int NUM X const int Num O こういう事か?
368 名前:デフォルトの名無しさん mailto:sage [2015/08/08(土) 12:20:01.30 ID:ja+NNaTJ.net] マジかよ全部書き直しじゃねーかクソが
369 名前:デフォルトの名無しさん mailto:sage [2015/08/08(土) 13:53:13.30 ID:QwAfSdLt.net] 今時、全置換機能くらいテキストエディタでもあるじゃろ モダンなIDEならリファクタリング機能とか言うのかのう…
370 名前:デフォルトの名無しさん mailto:sage [2015/08/08(土) 14:04:02.19 ID:Mi72fTNR.net] >>363 VSなら変数名変更したら下に矢印出てくるだろ
371 名前:デフォルトの名無しさん mailto:sage [2015/08/08(土) 14:08:52.14 ID:ja+NNaTJ.net] >>365 使った事ないんだけどこれって信用できるの?
372 名前:デフォルトの名無しさん mailto:sage [2015/08/08(土) 14:12:34.10 ID:Mi72fTNR.net] >>366 メモ帳の置換えと違ってその変数のみが置き換えられる。 例えばフィールドのxとローカルのxがあったとしてフィールドのxをxxにしたらローカルは書き換えられない。
373 名前:デフォルトの名無しさん mailto:sage [2015/08/08(土) 14:15:11.18 ID:cYx2D4V+.net] >>366 やってみて差分とって確認してみれば?
374 名前:デフォルトの名無しさん mailto:sage [2015/08/08(土) 14:24:41.94 ID:ja+NNaTJ.net] >>367 ありがとう使ってみる
375 名前:デフォルトの名無しさん [2015/08/08(土) 16:08:26.01 ID:8yeleZKw.net] >>366 dynamicとプリプロセッサ使っていないなら、ほぼ信用できる感じ 使ってあっても変更したい対象には無関係という事は多いのでかなり使える マイクロソフトが標準的に使っている規約から外れた規約を社内ルールで使っている場合 全員を説得して回ってマイクロソフト標準に合わせたほうがいいだろうね IDEがバージョンアップする毎に面倒が増えるから、規約がコスト増の原因になる 規約の目的は面倒事やコストを減らす為なので
376 名前:デフォルトの名無しさん mailto:sage [2015/08/08(土) 16:12:24.30 ID:h9o0NTln.net] リネーム使ったことないプログラマってガチでいるのかw 大げさでなく信じられないw
377 名前:デフォルトの名無しさん [2015/08/08(土) 16:19:06.87 ID:8yeleZKw.net] >>371 他言語から来た人は知らない人もいるのでは? ウエブ系の人にこれを見せたら、おったまげた人も結構いたよ
378 名前:デフォルトの名無しさん mailto:sage [2015/08/08(土) 16:26:59.15 ID:z+a/XH7F.net] かなりお世話になっているけど、リファクタリングって名前で俺かんけーねえしって人居るのかね リファクタリング (C#) https://msdn.microsoft.com/ja-jp/library/719exd8s.aspx
379 名前:デフォルトの名無しさん mailto:sage [2015/08/08(土) 16:45:24.01 ID:x+KPzjiu.net] リファクタリング便利よね。 nameof演算子が最初からあれば良かったのに。
380 名前:デフォルトの名無しさん [2015/08/08(土) 17:20:04.30 ID:8yeleZKw.net] >>374 あとジェネリックスも最初から欲しかったかな 一旦object型に変換されると、そこですべてが切れてしまうので ジェネリックスができてから typedef が後から実装できない仕組みだったのも痛かった 当時のtypedef嫌悪は大失敗だったね
381 名前:デフォルトの名無しさん mailto:sage [2015/08/08(土) 17:43:22.51 ID:AWBqCflR.net] 今日も偉い低レベルな話に花を咲かせてんな 9月までこの調子なの? ちょっと絶望するな
382 名前:デフォルトの名無しさん mailto:sage [2015/08/08(土) 18:29:59.35 ID:bub58w7+.net] ひ、ひぇぇ 高レベルな376様がいらっしゃたぞー これから高レベルな話してくださるから 傾聴せよー傾聴せよー
383 名前:デフォルトの名無しさん mailto:sage [2015/08/08(土) 19:08:49.81 ID:GOE31OJa.net] リファクタリングの名前変更はASP.NET MVCには使えないから糞
384 名前:デフォルトの名無しさん [2015/08/08(土) 19:41:42.79 ID:6EY1XTBT.net] 2015になって名前変更が全然別物になってるよね 前の方が良かった
385 名前:デフォルトの名無しさん [2015/08/08(土) 20:37:26.94 ID:8yeleZKw.net] 376がオナニーできなくて悶えてるのかw
386 名前:デフォルトの名無しさん mailto:sage [2015/08/08(土) 23:10:42.87 ID:Ijf29GRs.net] 意識高い人きてんね こういう人は面白くないので人が寄ってこなくて 仲間だと思ってた連中の初詣とかに誘われなくてあれってなるんじゃね
387 名前:デフォルトの名無しさん mailto:sage [2015/08/08(土) 23:23:23.15 ID:m5zrYZQl.net] 意識高いってのとはちょっと違うと思う 何か見下したい病?
388 名前:デフォルトの名無しさん mailto:sage [2015/08/08(土) 23:52:44.97 ID:3Z/4sEUi.net] そう言う人を皮肉って言ってるだけじゃ。
389 名前:デフォルトの名無しさん mailto:sage [2015/08/09(日) 00:12:32.28 ID:7R1hSeQZ.net] まあ、「意識高い」って言葉が使われる時、ほとんどの場合は「意識高い」って表現を使う側のルサンチマンなんだけどねw
390 名前:デフォルトの名無しさん mailto:sage [2015/08/09(日) 00:31:14.85 ID:Bf9QBgBr.net] お、c#スレ復活した
391 名前:デフォルトの名無しさん mailto:sage [2015/08/09(日) 03:04:04.03 ID:lFKFU4FJ.net] 会社で相手にされなくて、寂しくて、こんな所にやってきてるんだよ で、俺はできるんだから話を聞けぇってトコロなんだろうよ 多分リアルは自殺物レベルで悲惨なんだろうなw
392 名前:デフォルトの名無しさん mailto:sage [2015/08/09(日) 09:55:43.54 ID:/6/RtruA.net] 友達も女も居ないけど猫が居るから寂しくないよ
393 名前:デフォルトの名無しさん mailto:sage [2015/08/09(日) 20:02:02.17 ID:fUCYV9NU.net] 友達と女がいるとうれしさは猫の数倍だよ 知らないということは幸せかな
394 名前:デフォルトの名無しさん mailto:sage [2015/08/09(日) 20:10:11.88 ID:/6/RtruA.net] うるせぇ なら猫を追加するだけ 幸せバイバインだ
395 名前:デフォルトの名無しさん mailto:sage [2015/08/09(日) 21:09:12.82 ID:4N/Y7Sm0.net] 猫クラスを追加する事による負荷は問題ないのだろうか 友達の女クラスよりは軽いだろうけど
396 名前:デフォルトの名無しさん mailto:sage [2015/08/09(日) 21:12:10.14 ID:SGsZr1tS.net] かくしてIT土方の貴重な休日が無駄になっていくのである おわり
397 名前:デフォルトの名無しさん mailto:sage [2015/08/09(日) 22:57:53.03 ID:I/IAYU21.net] 別に友達いない=コミュ力なしってわけではないとは思うとか言ってみる。 いや、自分がそうなんだけどな。
398 名前:デフォルトの名無しさん mailto:sage [2015/08/09(日) 23:31:19.08 ID:fUCYV9NU.net] コミュ力 = 人と仲良くなる能力と思うとか言ってみる 仲良くなったら友達だろ
399 名前:デフォルトの名無しさん mailto:sage [2015/08/10(月) 00:00:32.58 ID:XP2wx0li.net] むしろ必ずしも仲が良くない人とでも意志疎通を行う能力なんだろうけどね本当は。 俺もそうだけど日本人って総じてこれが下手だから下らない飲み会とかやって 「みんな仲間」を演出してないと職場がうまく回らないんだよね
400 名前:デフォルトの名無しさん mailto:sage [2015/08/10(月) 00:05:19.00 ID:tkIOp5x+.net] コミュ力という言葉でくくれるほどコミュ力って狭い意味じゃないだろ 飲み会でウェーイもプレゼンも営業トークもコミュ力ないと出来ないが、これらが全部同じ能力とは思えない 自然言語的なコミュ力が高いやつもいれば、UMLみたいな言語のコミュ力が高いやつもいる アーティスティックな表現力は抜群でも、喋るとバカっぽい人も居る コミュ力は主にウェーイできる力の事であり、その意味でのコミュ力がないとコミュ障として、不当に扱われる事が多いってのは問題だよな
401 名前:デフォルトの名無しさん mailto:sage [2015/08/10(月) 00:25:39.24 ID:eozgHhmi.net] それは違うと思うな ウェーイできる奴は全部に通ず すなわち全部同じ能力 対人関係に柔軟さを持っている人間はコミュれる人でありウェーイでもある ウェーイすらできないならすなわちこれ全てダメであり完全なるコミュ障 そして次に考えることは コミュ力が不完全な状態でどう立ち回るかということ コミュ力の不完全さをほかで補うことを考えること 多くの人間はこれを考えるべきなのに考えない あるいはやはりウェーイ道を極めて修めるか
402 名前:デフォルトの名無しさん mailto:sage [2015/08/10(月) 01:03:38.69 ID:PN28vv9M.net] 既にこの時点でコミュが成立してない気がするのは。。。
403 名前:デフォルトの名無しさん mailto:sage [2015/08/10(月) 03:01:22.19 ID:WsIPX/2a.net] 初心者ですみません 上で定数をC言語のように全て大文字で書くのはまずいってありますが それって↓の理由のためですか? ryo021021.hatenablog.com/entry/2013/11/12/130603 unityがメインなんですが、プリプロセッサって全部大文字で書く事なんてあるんですか?
404 名前:デフォルトの名無しさん mailto:sage [2015/08/10(月) 03:14:03.52 ID:PX+3VVfn.net] >>398 >>352 に書かれているわけだが読まずに質問とは C#の初心者じゃなくて日本語の初心者ですかチョンですか?
405 名前:デフォルトの名無しさん mailto:sage [2015/08/10(月) 04:25:04.74 ID:RHMENy6h.net] 書き込み見る端から攻撃しまくるキチガイには居なくなって欲しいですな
406 名前:デフォルトの名無しさん mailto:sage [2015/08/10(月) 04:54:29.74 ID:e3IdXlk7.net] リソースファイルとしてtest.exeに「hoge.dat(バイナリ化)」を 組み込みました。そしてリソースファイル名を「resource_hoge_1」と 名付けました。 リソースファイルの内容をC#から読み込む為にこの様に記述しました。 byte[] byte_data = Properties.Resources.resource_hoge_1; ここまでは書けたのですが、 byte_data からどうすれば「hoge.dat」 をC#のプログラム中で復元する事が出来ます? ※ hoge.datはhoge.txt(中身は、"aiueo"だけです。)をバイナリ化したものです。
407 名前:デフォルトの名無しさん mailto:sage [2015/08/10(月) 05:00:02.57 ID:RHMENy6h.net] System.IO.MemoryStream あたりを使うのが一番てっとり早いかと
408 名前:デフォルトの名無しさん mailto:sage [2015/08/10(月) 05:03:18.94 ID:e3IdXlk7.net] >>402 早速ありがとうございます! 試してみます!
409 名前:デフォルトの名無しさん mailto:sage [2015/08/10(月) 05:26:39.23 ID:e3IdXlk7.net] >>402 出来ました。ありがとうございます!
410 名前:デフォルトの名無しさん mailto:age [2015/08/10(月) 07:21:22.75 ID:C7dCXIlE.net] 相手の承認欲求の満足と引き換えに情報もらう場で、 暗黙的な合意と正反対の行動しておいてコミュ力ってw もちろん情報も出さずに煽ってるのは論外だけどさ、 そんなコミュ力()で主張続けてたら、人居なくなるよ?
411 名前:デフォルトの名無しさん [2015/08/11(火) 02:29:03.29 ID:t7UpLVsu.net] 継承してあるプロパティを封印とかしたいんですができないでしょうか? 当然、キャストすると矛盾が生じるので、似てるけど継承関係がない扱いをしたいのですが。
412 名前:デフォルトの名無しさん mailto:sage [2015/08/11(火) 05:50:36.72 ID:USJNgyLH.net] >>406 AからBを派生させるんじゃなくて、AとBの基底クラスとしてCを作ってからA,Bを派生させるほうが理にかなうと思うが
413 名前:デフォルトの名無しさん [2015/08/11(火) 08:18:55.99 ID:t7UpLVsu.net] >>407 いわゆるテンプレートみたいなものなので、継承関係はありません
414 名前:デフォルトの名無しさん mailto:sage [2015/08/11(火) 08:22:26.01 ID:RnBcDQFJ.net] 共通部分を別のクラスに括り出して移譲
415 名前:デフォルトの名無しさん mailto:sage [2015/08/11(火) 09:29:28.39 ID:C3iuhTEx.net] is aじゃなくてhas aにする
416 名前:デフォルトの名無しさん [2015/08/11(火) 12:54:53.39 ID:t7UpLVsu.net] >>410 そうします。 でも、いちいちプロパティとかラップするのめんどいですよね。 なんとかなりませんか。
417 名前:デフォルトの名無しさん mailto:sage [2015/08/11(火) 13:07:55.82 ID:MDlGrES8.net] >>411 だから>>407 が言ってるようにすればいい。 何を言ってるんだ。
418 名前:デフォルトの名無しさん mailto:sage [2015/08/11(火) 13:47:10.32 ID:+IVNtZk/.net] >>412 >>407 に対して>>408 みたいに返す応用力のなさじゃ 手取り足取り説明しないとw
419 名前:デフォルトの名無しさん [2015/08/11(火) 14:53:21.55 ID:t7UpLVsu.net] >>412 キャストできたらまずいってーの、継承について勉強しろ
420 名前:デフォルトの名無しさん [2015/08/11(火) 14:57:28.66 ID:3SX2sjwF.net] 多態性を利用する気がないのならhas aでいいんじゃね? 用もないのに、なんでもかんでも継承するのは良くない 時々そういう人いるけど、コード読みにくくてしょうがない
421 名前:デフォルトの名無しさん mailto:sage [2015/08/11(火) 15:12:00.25 ID:AH2YHVn8.net] そして>>411 に戻る
422 名前:デフォルトの名無しさん mailto:sage [2015/08/11(火) 16:13:22.92 ID:g1gPnYXA.net] >>414 兄弟同士はキャストなんかできない。 何を言ってるんだ。 こんな馬鹿に限って勉強しろとかほざくんだから笑える。 そもそも論を言えば、明らかに互換性があるのにあえてキャストできないようにする意味がそもそも分からない。
423 名前:デフォルトの名無しさん [2015/08/11(火) 16:22:07.65 ID:3SX2sjwF.net] 分からないのは >>417 が無能だからだよw
424 名前:デフォルトの名無しさん mailto:sage [2015/08/11(火) 16:24:59.39 ID:2YkwfTs1.net] と、ろくにコードも読めない無能が言ってますw
425 名前:デフォルトの名無しさん [2015/08/11(火) 16:52:11.16 ID:t7UpLVsu.net] >>417 エンジンとコンポーネントで考えましょう。 基本的なことですよ。
426 名前:デフォルトの名無しさん mailto:sage [2015/08/11(火) 17:31:46.86 ID:C3iuhTEx.net] 自分の言いたいことが理解されないからといって、すぐ相手を馬鹿よばわりしたらあかんよ。 馬鹿って言われたからっいって、すぐ無能とか煽ったらあかんよ。
427 名前:デフォルトの名無しさん mailto:sage [2015/08/11(火) 18:29:29.41 ID:AWvgSxoB.net] >>417 そもそも >継承関係がない扱いをしたい のだから、互換性が無いのかもしれんぞ 継承関係がないのに、継承してクラス定義する意味がわからんが
428 名前:デフォルトの名無しさん [2015/08/11(火) 19:06:04.27 ID:3SX2sjwF.net] 多態性使いたいなら、こういうケースでは素直にinterface使えば良いかと 本人見ての通り用は無いとしているみたいだし、それでいいと言われているのに食いつくのを見ていると ふらっとスレのアレだな >俺の考えをきけぇ、おまえらの事情なんかどうでもいいし、そんな事聞かれてもいないが俺の考えをきけぇ て感じだね、例のアイツなんだろうが頭おかしい
429 名前:デフォルトの名無しさん mailto:sage [2015/08/11(火) 19:36:37.74 ID:DdSX6XRN.net] >>423 言っちゃ悪いけどあんたが一番頭おかしいように見えるよ。 例のアイツってもう典型的な2ch脳患者の症状じゃん。 って2ch脳の人に言っても無駄っていうか手遅れだろうけどさ。
430 名前:デフォルトの名無しさん mailto:sage [2015/08/11(火) 20:44:37.23 ID:BYbKL/Wt.net] もう少しハッピーな話をしろ お前くらいのエリートなら8/7~8/18くらいは夏休みのはずだろ
431 名前:デフォルトの名無しさん mailto:sage [2015/08/11(火) 20:47:38.90 ID:RhCa6Veg.net] 僕は7月18日から
432 名前:デフォルトの名無しさん mailto:sage [2015/08/11(火) 20:51:01.02 ID:flESq3
] [ここ壊れてます]
433 名前:IS.net mailto: 投稿時間みると休んでんじゃないの? 何もすることないんでしょ 生きてて楽しいのかな? あ、だからここで一日中他人を罵倒してるのか [] [ここ壊れてます]
434 名前:デフォルトの名無しさん mailto:sage [2015/08/11(火) 21:55:13.91 ID:pRf5qE0j.net] 継承先でプロパティ封印してどんなメリットが…
435 名前:デフォルトの名無しさん mailto:sage [2015/08/11(火) 23:34:01.58 ID:HeaM7jtr.net] BCLでもNotSupportedExceptionを投げたりするのがあるけど、まあ仕方がないんだろうけど あんまり美しくないよなああいうの。
436 名前:デフォルトの名無しさん mailto:sage [2015/08/12(水) 02:18:44.84 ID:6ZXtaURL.net] 基底クラス作るとか、制限する意味ないとか ここの人たちの話は良くわからないぞ… 前者は非現実的すぎるし、後者は公開用と実装で分けるとか結構ある話かと 面倒ってのがEclipse的な委譲の生成がないかって意味なら Reshaper(有料)使うか、諦めて無心に手書きするといいよ
437 名前:デフォルトの名無しさん mailto:sage [2015/08/12(水) 02:33:12.62 ID:6ZXtaURL.net] あ、でもこの場合、1クラスの委譲のようだから、 制限インターフェース作って、欲しいクラスを継承+制限IFを実装、 そして制限IFにキャストして返すって手順でいいんでは?
438 名前:デフォルトの名無しさん mailto:sage [2015/08/12(水) 02:40:22.65 ID:XD0FvRJl.net] 難しい事言うとまた質問者に勉強しろと言われちゃうよーん
439 名前:デフォルトの名無しさん mailto:sage [2015/08/12(水) 03:14:27.59 ID:6lFy7xXj.net] 元の質問者はたぶん、型の弱い言語しか使ってないんだろ ダイナミック使えば良いと思うんだ
440 名前:デフォルトの名無しさん mailto:sage [2015/08/12(水) 03:14:47.82 ID:4GoNFhR4.net] どんだけ俺の考えをきけぇ!!!!!なんだよ 寂しすぎだろw
441 名前:デフォルトの名無しさん mailto:sage [2015/08/12(水) 07:59:58.15 ID:jWJqOcxH.net] >>430 後者は公開用と実装で分ける internalで十分じゃね?
442 名前:デフォルトの名無しさん mailto:sage [2015/08/12(水) 08:09:14.50 ID:6ZXtaURL.net] >>435 十分じゃないですよ 2者を分離できませんし、継承関係が欲しい訳じゃないですから
443 名前:デフォルトの名無しさん mailto:sage [2015/08/13(木) 10:26:42.13 ID:yl8Mdqy/.net] MVVMでダイアログとかポップアップメニューとか画面遷移ってどう扱うんだ? VMにMessageBox.Showとか書きたくないよな
444 名前:デフォルトの名無しさん mailto:sage [2015/08/13(木) 10:36:01.01 ID:JHO9AiGv.net] >>437 画面遷移サービスみたいなのを用意してインスタンスをアプリケーション全体で共有 ただしシングルトンはやめろ そういうサービスはVMからはインターフェースを通して扱うようにして、 VMには参照をプロパティやコンストラクタなどで渡す。DIを使ってもいい。 メッセージを使ってビュー経由でやる方法もあるがどこで何やってんのかわけわからなくなりやすいのでお勧めしない。
445 名前:デフォルトの名無しさん mailto:sage [2015/08/13(木) 14:53:07.65 ID:ZQmwk96y.net] >>437 prismにTriggerActionって仕組みがあって、ビヘイビアのようなクラスを定義すればメッセージボックスをVMから操作できます メッセージボックスを開く程度をやるには可也面倒なんだけどね
446 名前:デフォルトの名無しさん mailto:sage [2015/08/13(木) 20:47:02.81 ID:uEvY/8an.net] List<T>.Sort()ってなんで安定じゃないんですかね 安定なの作っといてくれりゃいいのに
447 名前:デフォルトの名無しさん mailto:sage [2015/08/13(木) 20:52:06.72 ID:r6k8TIQq.net] >>440 LINQのOrderByは安定ソートだよ
448 名前:デフォルトの名無しさん mailto:sage [2015/08/13(木) 21:42:16.81 ID:uEvY/8an.net] >>441 なるほど……こんなん書いてみたけど、これってありですか? それとも自前の安定なソートメソッドを書きますか? public static void StableSort<T>( this IList<T> list ) { var temp = list.OrderBy( t => t ).ToList(); // 既定の比較でソート for( int i = 0; i < list.Count; i++ ) { list[i] = temp[i]; } } その前はこんなん書いてみたてたけどw public static void StableSort<T>( this IList<T> list ) { var wrapper = list.Select( ( t, i ) => new KeyValuePair<int, T>( i, t ) ).ToList(); wrapper.Sort( ( p1, p2 ) => { var result = Comparer<T>.Default.Compare( p1.Value, p2.Value ); if( result == 0 ) { result = p1.Key.CompareTo( p2.Key ); } return result; } ); for( int i = 0; i < list.Count; i++ ) { list[i] = wrapper[i].Value; } }
449 名前:デフォルトの名無しさん mailto:sage [2015/08/14(金) 01:10:47.58 ID:u9bN4Lw8.net] >>442 ToListせずにforeachしたほうがいい
450 名前:デフォルトの名無しさん mailto:sage [2015/08/14(金) 15:19:13.92 ID:Iycxx57M.net] >>442 馬鹿な俺には何がしたいんかわからん list.OrderBy( t => t ).ToList(); だけでええやん
451 名前:デフォルトの名無しさん mailto:sage [2015/08/14(金) 15:21:03.68 ID:PBffULch.net] 破壊的ソートだろ
452 名前:デフォルトの名無しさん mailto:sage [2015/08/14(金) 22:12:21.62 ID:2p3m0KlY.net] >>444 ソートされた新しいインスタンスがほしい場合もあれば 元のインスタンスをソートしてほしいときもあるやん?
453 名前:デフォルトの名無しさん mailto:sage [2015/08/15(土) 01:24:13.06 ID:xV4UISpz.net] >>442 これってプリミティブ以外の型でちゃんとソートされるの?
454 名前:デフォルトの名無しさん mailto:sage [2015/08/15(土) 02:26:49.44 ID:j4iBQT2t.net] >ソートされた新しいインスタンスがほしい場合もあれば >元のインスタンスをソートしてほしいときもあるやん? list = temp;
455 名前:デフォルトの名無しさん [2015/08/15(土) 03:53:43.45 ID:QiO6I5ga.net] >>446 var listOrg = new List<int>(new int[] { 10, 23, 13, 4 }); var listTmp = listOrg.OrderBy((t) => t).ToArray(); listOrg.Clear(); listOrg.AddRange(listTmp); 遅いけど少し短いかも
456 名前:デフォルトの名無しさん mailto:sage [2015/08/15(土) 07:25:58.35 ID:/RqnGk0/.net] >>447 TがIComparableを実装してないとソートできないけど、それは普通のSort()メソッドも同じじゃね? >>448 インスタンスを置き換えて返すつもり? 元のリストの参照もってたらソートされないままだろが……
457 名前:デフォルトの名無しさん mailto:sage [2015/08/15(土) 13:11:59.71 ID:z64TKpL6.net] 初心者です。インターフェースの実装として抽象クラスを定義するコードを見かけたのですが、あえてそうするメリットって何かありますか?自分としとはインターフェース不要じゃないかと思ったのですが。
458 名前:デフォルトの名無しさん mailto:sage [2015/08/15(土) 13:19:08.64 ID:dPBreRmq.net] Effective Java 18章 抽象クラスよりインタフェースを選ぶ を読んで、骨格実装について学んでください この項目はC#でも同じです
459 名前:デフォルトの名無しさん mailto:sage [2015/08/15(土) 13:54:48.31 ID:gGc5tBdo.net] 出来る限り疎結合にするというのが大切だから外部との窓口をインターフェースにする。 それより内側の具体的な実装は、内部実装としての作りやすさからたまたま抽象クラスで行っているだけかと。
460 名前:デフォルトの名無しさん mailto:sage [2015/08/15(土) 14:38:20.40 ID:OY/B/Wmp.net] 抽象クラスって使った事ないわ 使い道あるのかこれ
461 名前:デフォルトの名無しさん mailto:sage [2015/08/15(土) 15:08:58.69 ID:2z51GaS1.net] 初心者なのでインターフェイスがあれば抽象クラスは別段いらないじゃないか って正直いつも思ってます・・・ 抽象クラスの使い方が分かってないからでしょうけど
462 名前:デフォルトの名無しさん mailto:sage [2015/08/15(土) 15:14:23.51 ID:3TmrRaVz.net] vsの簡単フォームツール?のコンボボックスでSelectedIndexが見つかりません。 どこにありますか?
463 名前:デフォルトの名無しさん [2015/08/15(土) 15:47:22.93 ID:HxCw3c0C.net] >>455 インターフェースに雛形となる実装がついてるだけだよ。 インターフェースにテンプレートの実装持たせておければいいのに。
464 名前:デフォルトの名無しさん mailto:sage [2015/08/15(土) 15:50:11.19 ID:2z51GaS1.net] >>457 よく分からないのですが、そもそも仕様と実装を分離して疎結合するためのもの だという認識なんですが、それに実装を持たせると分離の意味がなくなるんじゃないのかな と不思議に思ってます
465 名前:デフォルトの名無しさん mailto:sage [2015/08/15(土) 15:58:03.56 ID:XFeAKEd8.net] 仕様と実装を分離して疎結合するためのもの=インターフェイス 仕様の中で規定の実装が部分的に定まっているもの=抽象
466 名前:デフォルトの名無しさん [2015/08/15(土) 15:
] [ここ壊れてます]
467 名前:59:17.62 ID:HxCw3c0C.net mailto: >>458 その通りです。 なので必要があれば抽象クラスとインターフェースをそれぞれ定義します。 抽象クラスはあくまで実装ですからね。 個人的には抽象クラスはいらないと思うが、実装を持たせられるのは挙動を保証できるし、やはり便利ということで使ってしまう。 拡張メソッドとかもあるけど、いちいちクラスとインターフェース作りたくねーし、インターフェースの定義の中でなんとかさせてくれという気持ち。 [] [ここ壊れてます]