1 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 16:46:53.58 ID:op86qfG/.net] ■Visual Studio 2015 Community & Express (無償の統合開発環境)等はこちら www.visualstudio.com/downloads/ ■コードを貼る場合はこちら ideone.com/ ■前スレ C#, C♯, C#相談室 Part91 echo.2ch.net/test/read.cgi/tech/1467211515/ ■次スレは>>970 が建てる事。 建てられない場合は他を指定する事。
445 名前:デフォルトの名無しさん mailto:sage [2017/03/09(木) 23:40:17.24 ID:4hz9mkjX.net] なんでよ
446 名前:デフォルトの名無しさん mailto:sage [2017/03/09(木) 23:45:18.70 ID:ZZ1gzprq.net] >>427 生のADO.NETと比較すると遅くても、実運用に耐えられる程度なら問題ない 遅さのデメリットをメリットが上回る場合に採用すべき 設計ミス お前の頭が足りてないだけ 抽象化しないとInMemoryやFakeのIDbcontext使ってUnit Testできない
447 名前:デフォルトの名無しさん mailto:sage [2017/03/10(金) 00:07:57.78 ID:Kg4/WRpJ.net] >>430 Dapperのところ見ると10倍以上遅いって数字弾いているし 体感上も遅いだろ https://github.com/StackExchange/Dapper
448 名前:デフォルトの名無しさん mailto:sage [2017/03/10(金) 00:14:08.74 ID:cBCq3F3F.net] >>431 日本語
449 名前:デフォルトの名無しさん mailto:sage [2017/03/10(金) 00:15:07.75 ID:PorFrx4J.net] >>431 遅いのは皆わかってるんだけど 何言ってんのこいつ
450 名前:デフォルトの名無しさん mailto:sage [2017/03/10(金) 00:29:46.92 ID:cBCq3F3F.net] >>431 そのEntityFramework、3世代前くらいじゃね? こっちの方がまともに比較してる気がする https://msdn.microsoft.com/ja-jp/magazine/mt703432.aspx
451 名前:デフォルトの名無しさん mailto:sage [2017/03/10(金) 00:35:01.00 ID:PorFrx4J.net] 誇大広告ワロタ
452 名前:デフォルトの名無しさん mailto:sage [2017/03/10(金) 00:47:22.95 ID:Cysk3AQ/.net] >>431 Dapperを使ってメモリ上でUnit Testやる方法教えて
453 名前:デフォルトの名無しさん mailto:sage [2017/03/10(金) 01:56:20.00 ID:YvYLhW/g.net] 割といままで関わったプロジェクトは、敢えてスドアドで疎結合にしてるの多かったな。
454 名前:デフォルトの名無しさん [2017/03/10(金) 05:22:26.01 ID:hxjDKO5o.net] 以下のページを参考にしてい 指定したURLからHTMLを取得するプログラムを作成しております www.kekyo.net/2016/12/06/6186 取得する処理を作成することは出来たのですが 取得処理を走らせてからリクエストが帰ってくるまでの間 GUIの操作が一瞬とまってしまう現象が発生しております(一瞬フリーズするような感じです) ですので連続してhtmlを取得したり、サイズの大きなものを取得する場合 長時間フリーズしてしまうことになるので大変困っております どなたか解決方法をご存知の方がおりましたら 教えていただければ幸いです よろしくお願いします
455 名前:デフォルトの名無しさん [2017/03/10(金) 05:22:50.13 ID:hxjDKO5o.net] ちなみに参考にしたソースは以下の通りです。 public static async Task<string> ReadFromUrlAsync(Uri url) { using (WebClient webClient = new WebClient()) { using (Stream stream = await webClient.OpenReadTaskAsync(url)) { TextReader tr = new StreamReader(stream, Encoding.UTF8, true); string body = await tr.ReadToEndAsync(); return body; } } } public static async Task DownloadAsync() { Uri url = new Uri("https://github.com/Microsoft/dotnet/blob/master/README.md"); string body = await ReadFromUrlAsync(url); Console.WriteLine(body); }
456 名前:デフォルトの名無しさん mailto:sage [2017/03/10(金) 07:53:36.33 ID:/HdMhfmB.net] >>437 ストアドはビジネスとデータが密着して全く疎にならないだろ
457 名前:デフォルトの名無しさん mailto:sage [2017/03/10(金) 07:55:23.13 ID:LDoDwujD.net] >>437 かわいそうに
458 名前:デフォルトの名無しさん mailto:sage [2017/03/10(金) 07:56:43.00 ID:CZUjNxSc.net] 普通シングルスレッドでは、処理中は、 進捗状況を表示するプログレスバーでも、描画が止まるから、 GUI/worker用のスレッドは、別々のマルチスレッドにする プログレスバー描画のサンプルでも見れば?
459 名前:デフォルトの名無しさん mailto:sage [2017/03/10(金) 09:46:49.61 ID:ccNaYHW5.net] >>437 そのうちいいことあるよ、頑張って
460 名前:デフォルトの名無しさん mailto:sage [2017/03/10(金) 11:25:04.92 ID:LzpSY1Zb.net] >>438 WebClient(とその中で使ってるHttpWebRequest)が 名前解決部分を非同期化できてないっぽい HttpClientを使おう
461 名前:デフォルトの名無しさん [2017/03/10(金) 12:24:52.88 ID:/STnO1DK.net] え?みんなEF使わないがデフォなの?
462 名前:デフォルトの名無しさん mailto:sage [2017/03/10(金) 12:26:08.18 ID:Tes7zBzn.net] あんなものを使うのはお勉強ができるだけの無能だけ
463 名前:デフォルトの名無しさん mailto:sage [2017/03/10(金) 12:36:20.43 ID:wvkqDHaL.net] >>445 使わないじゃなくて使えないんじゃない?新しいことを学習できないんだよ
464 名前:デフォルトの名無しさん mailto:sage [2017/03/10(金) 12:46:27.34 ID:Tes7zBzn.net] 新しいものに飛びついてもあとであれはゴミだったというものもたくさんある EJB2.0とか
465 名前:デフォルトの名無しさん mailto:sage [2017/03/10(金) 12:51:59.29 ID:wvkqDHaL.net] >>448 それはその通りだね EntityFrameworkはもうそろそろ10年たつんだけど
466 名前:デフォルトの名無しさん [2017/03/10(金) 13:10:03.19 ID:mpFYTheR.net] やっぱJavaなんやね
467 名前:デフォルトの名無しさん mailto:sage [2017/03/10(金) 13:53:22.42 ID:AGPJ29Rn.net] 新しいのを使うのも、古いのを使い続けるのも、どっちも長所短所がある 同じ長所短所でも環境によって評価が変わるからどっちが絶対にいいってのはない それ考慮してどっち使うって当たり前の選択ができない奴多すぎるんだよ
468 名前:デフォルトの名無しさん mailto:sage [2017/03/10(金) 15:40:00.20 ID:y8xCqliG.net] >>440 んなの書き方によるだろ
469 名前:デフォルトの名無しさん mailto:sage [2017/03/10(金) 18:15:05.97 ID:NraHDdZK.net] 使って文句ないやつは使ってればいいのよ。 俺は使うのをやめた。理由を他人に説明する必要も、他人が納得する必要もない。
470 名前:デフォルトの名無しさん mailto:sage [2017/03/10(金) 18:36:12.55 ID:wvkqDHaL.net] >>453 使えるやつは使う、使えないやつは使わない
471 名前:デフォルトの名無しさん mailto:sage [2017/03/10(金) 18:42:37.52 ID:NraHDdZK.net] そういうこった。俺には使えない。
472 名前:デフォルトの名無しさん mailto:sage [2017/03/10(金) 18:43:15.86 ID:NraHDdZK.net] 使わなきゃ、使いにくいとこも分かんないからな。
473 名前:デフォルトの名無しさん mailto:sage [2017/03/10(金) 18:46:25.98 ID:Gc8NaZGi.net] 世の中はまだWinFormsだからな。 新しいものに対応できないジャパン。
474 名前:デフォルトの名無しさん mailto:sage [2017/03/10(金) 18:49:44.85 ID:YN/8CtFT.net] >>456 ADO.NET直書き?
475 名前:デフォルトの名無しさん mailto:sage [2017/03/10(金) 19:38:33.09 ID:jSwjVui3.net] >>457 Microsoftはバグ管理にExcel使ってるんだぞ 振り回されたらあかん
476 名前:デフォルトの名無しさん mailto:
[] [ここ壊れてます]
477 名前:sage mailto:2017/03/10(金) 19:44:07.45 ID:PPM6ZnbB.net [ DotNet CoreでバッサリWebFormsとDataSet切り捨ててくれたから 日本もこれからはMVCとPOCOにシフトしていくだろうね(希望) ] [ここ壊れてます]
478 名前:デフォルトの名無しさん mailto:sage [2017/03/10(金) 20:10:01.97 ID:cBCq3F3F.net] >>445 基本的にはEntityFrameworkで、パフォーマンスほしいとこはDapper
479 名前:デフォルトの名無しさん mailto:sage [2017/03/10(金) 20:35:03.91 ID:BdCDiQus.net] dapperって何がいいの?
480 名前:デフォルトの名無しさん mailto:sage [2017/03/10(金) 20:40:29.72 ID:cBCq3F3F.net] >>462 上にもいろいろ比較出てるけど、とにかく速くて簡単 DBとオブジェクトの最低限のマッピングだけでいい場合はこれで十分
481 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 09:49:08.82 ID:+LwMML+J.net] 動的だけど滅多にソースが更新されないほとんど静的なページのキャッシュってどう扱えばいいんですか? クライアントにキャッシュさせて更新があった時だけアクセスしてほしいです
482 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 09:53:48.23 ID:h5T3JHpB.net] >>464 ブラウザーがやってくれるんじゃないか?
483 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 13:46:01.01 ID:SoGUL2Zu.net] VisualStudio2017お試しで使ってるんだけれど タプルとか求めていたものが有ったので使おうとしたら ValueTupleのライブラリが標準で入らずNuGetにしか無いとか まだ安定しない無いとか何かあるんだろうか・・・ 凄い作りかけ感あるコンパイラに仕上がってるwww 使うべきか暫く様子見すべきか?
484 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 13:50:47.46 ID:/3A6iA0R.net] Windowsのcsc.exeでコンパイル出来ないC#6.0も見送ってるならそうだな
485 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 14:02:34.64 ID:SoGUL2Zu.net] タプルの利用はしばらく様子見にしとくか・・・何か怪しいし。 ローカル関数いいね、これやる時名前空間が汚れてインテリセンスが腐るから欲しかった これだけでも移行価値は無くは無いか・・・ IEnumerable<int> Enumerate(int begin, int end) { if (end < begin || end < 0 || begin < 0) throw new System.ArgumentOutOfRangeException("ほげぇ"); IEnumerable<int> Body() { for (int i = begin; i <= end; ++i) yield return i; } return Body(); }
486 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 14:40:42.15 ID:SoGUL2Zu.net] ちらちら見ていると、ValueTaskの方はもっと状況が酷いのかなw www.buildinsider.net/column/iwanaga-nobuyuki/008 言語みたいな基幹部分を小出しにするとか、頭おかしくなってるなw 今までそんな事をした言語の末路がどうなったか知らないわけじゃなかろうに・・・ NuGetにして普通にコードする人には使わせないようにするのは、これはヤバイと中の人が感じているのかもしれんね マイクロソフトの技術力&組織力低下酷いな、半端に才能ある奴のスタンドプレーでグダクダなってるんだろうな。 Web系に翻弄され過ぎだろ とりあえず使えそうなのは、ローカル関数と型switchくらいかな この辺りなら変更あってもダメージ少ないだろうし。 タプルの実装に致命的問題があるならローカルclass&struct&enum宣言でもええんやでぇ 名前空間お腐れ問題はカッコイイ事しなくても、これでも解決するんや > microsoft
487 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 15:24:01.58 ID:SoGUL2Zu.net] >>218 横だけど、式木はちゃんと言語でサポートしなきゃ誰にも読めない言語になるなと思った。 逆に、それ自体は難解
488 名前:でもないし難しい話じゃないなとも。 プログラムとは違うけれど 3Dモデラーでツリー構造とか法線とか難解な数学概念が見ての通りの操作で動かしたり創れたりするようになって 門外漢の3Dデザイナーが普通に使えるようになったように 一度概念をキッチリ整理する必要があるんだよ、あれは。 そして言語の作りこみがあの頃から甘くなってき始めてたな、ちょっと残念な感じになっていった時代だね。 とりあえず腐り過ぎのWin10をWin7の仕様に戻せや、ストアもユニバーサルアプリも使い物にならん、色使いも糞でUIが見ずらい > microsoft あと、WindowsUpdateのタイミングはユーザーの自由にさせよ、お前がお前のタイミングで勝手にやったら業務はむちゃくちゃになる。 [] [ここ壊れてます]
489 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 22:05:54.03 ID:h5T3JHpB.net] >>466 タプルなんて昔からあるだろ
490 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 22:18:07.78 ID:15EAzLR8.net] >>471 残念ながら昔からあるTuple<>とは全くの別物 機能的には匿名型にも似ているが、匿名型との互換性もない ローカル関数なんかも極めて場当たり的なゴミだろ デリゲートの型を省略できるようにして var func = (int x) => x * 2; と書けた方がずっと便利
491 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 22:40:13.41 ID:7U1HyGmG.net] >>472 いつからここが初心者用になったんだ
492 名前:デフォルトの名無しさん mailto:sage [2017/03/12(日) 01:14:05.08 ID:+ulIycHH.net] >>469 https://github.com/dotnet/roslyn/issues/13177 によると、.NET4.7に入れることにしたみたいだね nugetで済むのに.NETのバージョンを上げるのは面倒が多いし、今後C#のリリース速度を早めるならある程度まとめて.NET4.7にしようって考えじゃないかなぁ 言語機能の小出しについても他の言語と比べれば遅いし、互換性と将来を考えて慎重に作ってるから完全な完成を待つと永遠にリリースできなくなっちゃうし、やむをえんだろ CLRのバージョンを保ってくれれば文句は無い
493 名前:デフォルトの名無しさん mailto:sage [2017/03/12(日) 02:13:23.38 ID:lK2SBg8L.net] List<string> list; があって そのlistのx番目からy個文字列連結したいのですがLinqでどう書けますか? x番目から3個なら var result = $"{list.Skip(x).Take(1).FirstOrDefault()}{list.Skip(x + 1).Take(1).FirstOrDefault()}{list.Skip(x + 2).Take(1).FirstOrDefault()}"; こんな感じですけど短く綺麗にしたいのですが…
494 名前:デフォルトの名無しさん mailto:sage [2017/03/12(日) 02:33:41.68 ID:tHLqC2EA.net] >>475 var result = String.Join( "", list.Skip(x).Take(y) );
495 名前:デフォルトの名無しさん mailto:sage [2017/03/12(日) 05:07:11.99 ID:lK2SBg8L.net] >>476 わー、短くて綺麗。 ありがとうございました。
496 名前:デフォルトの名無しさん [2017/03/12(日) 06:43:42.92 ID:RIOf9bqD.net] >>472 >デリゲートの型を省略 できるならとっくにやってるんじゃないかなw ラムダ式は書けるコードが限定され過ぎるのが問題かな。>>468 はそれではどうやっても書けないでしょう。
497 名前:デフォルトの名無しさん mailto:sage [2017/03/12(日) 08:53:09.32 ID:bReP5RFT.net] >>475 自分で理解できねーもん他人に強制するその姿勢がすでにクソ なんでその処理linqで書いた? しかも自分は掲示板で質問しなきゃわかんねーのに さっさと辞めちゃえお前 伸びる目もねーから
498 名前:デフォルトの名無しさん mailto:sage [2017/03/12(日) 09:23:31.23 ID:7tB+K/sW.net] 何でこの人キレてんの?あの日?
499 名前:デフォルトの名無しさん mailto:sage [2017/03/12(日) 10:01:53.12 ID:RIOf9bqD.net] みるからに自演臭くてキモイからじゃねw
500 名前:デフォルトの名無しさん mailto:sage [2017/03/12(日) 10:23:22.36 ID:1QMoXo8Q.net] ラムダ式自体は型を持たないから、delegate型と決めつけてvar対応するなら専用のルール付けが必要だと思う。 そこまでする価値は無いかな。
501 名前:デフォルトの名無しさん mailto:sage [2017/03/13(月) 06:11:29.33 ID:o9PLbB2Z.net] すいません質問なんですが アプリ起動中はAキーを推すと左クリック Bキーをおすと右クリック Cキーを押すとアプリ終了 みたいな感じでキー入力をマウス入力にいれかえるようなアプリを作りたいんですが Windows上でフォーカスのあるウインドに依存せずにキー入力を取得するのってどうしたらいいんでしょうか
502 名前:デフォルトの名無しさん mailto:sage [2017/03/13(月) 06:55:37.31 ID:2GKmTNuX.net] 以前、遠隔ウイルス片山も似た質問していましたね。
503 名前:デフォルトの名無しさん mailto:sage [2017/03/13(月) 07:01:39.19 ID:WHuP7MmV.net] フォームのKeyPreviewプロパティをTrueにすると、すべてのキーイベントをまずフォームが受け取り、処理が終了してからフォーカスのあるコントロールに渡されるようになります。 ってdobon.netで見つけた やったことはない
504 名前:デフォルトの名無しさん mailto:sage [2017/03/13(月) 07:17:17.53 ID:o9PLbB2Z.net] ありがとうございます KeyPreviewについて調べてみます
505 名前:デフォルトの名無しさん mailto:sage [2017/03/15(水) 09:07:02.25 ID:k1u612YY.net] すみません、EFで質問させて下さい。 下記のようにエンティティを定義して、それを編集するクライアントを作ろうとしています。 とりあえず、Modelに対する編集は無効にしてあるものとします。Unitに変更を加えて保存すると、 DBの中でModelのレコードが増えてしまいます。NameにUnique制約を付けると当然例外が派生します。 Unit.ModelがDbContextの管理外になってしまったので、別のインスタンスとして認識されているという理屈は分かります。 contextを都度作成せずに維持していれば、期待する動作になるのも分かりますが、それはできればしたくはないです。 何か上手い解決方法はないでしょうか? public class Model { public int ModelId {get;set;} public string Name {get;set;} ※ } public class Unit { public int UnitId {get;set;} public VM Model {get;set;} public string Serial {get;set;} } List<Unit> GetUnitList() { using (var context = ...) { return context.units.Include(x => x.model).Select(x => x).ToList(); } } void UpdateUnit(Unit unit) { using (var context = ...) { var target = context.units.Where(x => x.UnitId == unit.UnitId).FirstOrDefault() target.Model = unit.Model; target.Serial = unit.Serial; context.SaveChanges(); } } var list = GetUnitList(); ...リスト表示->エディタでunit.Serialを編集 UpdateUnit(unit);
506 名前:デフォルトの名無しさん mailto:sage [2017/03/15(水) 09:27:37.16 ID:N2+3G59G.net] >>487 そこまで分かってるなら解決策は簡単。 ModelIdで検索し直す。
507 名前:デフォルトの名無しさん mailto:sage [2017/03/15(水) 11:16:57.42 ID:k1u612YY.net] >>488 ありがとうございます、すっきりしました。 期待する結果に対してのコストが少々重くなるかなという気はしているのですが、 処理コストが問題になるほどの規模ではないので、そうさせて貰います
508 名前:デフォルトの名無しさん [2017/03/16(木) 03:52:05.80 ID:l+qA2/0G.net] C#でwebBrowserを使ってるんですが 以下のhtmlをwebBrowser.DocumentTextに突っ込んで表示させたいんですが 何故かwebBrowserではそのままjqueryを読み込むことが できないようでスクリプトエラーが発生してしまいました 対処方法のわかる方いたら教えていただけますでしょうか? ↓以下のhtml <!DOCTYPE html> <head> <meta charset=""utf8""> <script src=""https://code.jquery.com/jquery-2.1.4
509 名前:.min.js""></script> <script type=""text/javascript""> $(function() { alert(""test"") }); </script> </style> </head> <body> [] [ここ壊れてます]
510 名前:デフォルトの名無しさん mailto:sage [2017/03/16(木) 11:36:09.87 ID:oyR0ujl0.net] なんでダブルクォーテーション2つ続いてるの?
511 名前:デフォルトの名無しさん [2017/03/16(木) 16:49:18.07 ID:l+qA2/0G.net] エスケープです 文字列に突っ込んでるのをそのままコピペしちゃったのでそのようになってます すいませんがエスケープは無視して考えてください。
512 名前:デフォルトの名無しさん mailto:sage [2017/03/16(木) 16:58:42.52 ID:Qa1xgsfZ.net] <style> <head> <body> </style> </head> </body> 最後のbodyを/スラッシュで括ってないからでは?
513 名前:デフォルトの名無しさん mailto:sage [2017/03/16(木) 17:03:26.21 ID:RyFuDdep.net] >>493 君は冷静だな
514 名前:デフォルトの名無しさん mailto:sage [2017/03/16(木) 17:05:05.86 ID:Qa1xgsfZ.net] HTMLソース <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>HTML5サンプル</title> </head> <body> <p>HTML5で作成しました!</p> </body> </html> 連投ですまん もっと解り易いサンプル
515 名前:デフォルトの名無しさん mailto:sage [2017/03/16(木) 18:14:35.84 ID:kQHrflry.net] WebBrowserがデフォだとIE7モードで動くせいでjquery 2.1.4が動かない ・jquery 1系使う ・headに <meta http-equiv="X-UA-Compatible" content="IE=edge"> 等を書く ・レジストリでモード変更する 好きなのどうぞ
516 名前:デフォルトの名無しさん mailto:sage [2017/03/16(木) 18:38:16.89 ID:RyFuDdep.net] >>496 君は詳しいな
517 名前:デフォルトの名無しさん mailto:sage [2017/03/16(木) 20:09:32.60 ID:G/L2rMHg.net] 簡単に単体テストできるのか知りたいです public static async Task DoHeavyAsync(string path, IProgress<long> progress, CancellationToken token) という非同期メソッドの単体テストで、同期版の DoHeavy() と同様のテスト以外に、 (1) progress が動作していることの確認 (2) token が動作していることの確認 が必要だと思います (1) が簡単ではない var progress = new Progress<long>(n => { Assert.Fail(); }); などやっても、テストが成功してしまう(レポートがメソッド終了後に届くため) まじめにやるとしたら別スレッドを作る必要がありそう? (2) は、巨大ファイルを使って new CancellationTokenSource(20) などでキャンセルされることを確認という 汚い手法でテストしています(処理速度があがった場合にテストが失敗する可能性があるのが汚い点) (1)と(2)、それぞれどのようにテストするべきでしょうか? 特に(1) NUnit を使ってますが、他のフレームワークでもいいです
518 名前:デフォルトの名無しさん mailto:sage [2017/03/16(木) 20:16:08.57 ID:kgKaK9fl.net] 非同期処理の確実なテスト方法は存在しないのでどっかで妥協しなきゃならない
519 名前:デフォルトの名無しさん mailto:sage [2017/03/17(金) 07:37:50.30 ID:gTyXrRTf.net] よく分からんな Taskなんだから結果が出るのを待機すればいいだろ Progressは呼ばれたらcalledフラグを立てるようにしてそいつでAssetする タイムアウトが必要かどうかは状況次第 2つめは、内部でFileStreamを使っているならだが Streamを受け取るインターフェースを追加する クッソ遅いStreamは自由に再現できる
520 名前:デフォルトの名無しさん [2017/03/17(金) 08:16:11.77 ID:VDcrtJ6N.net] >>496 ありがとうございます!大変助かりました!
521 名前:デフォルトの名無しさん mailto:sage [2017/03/17(金) 21:11:54.40 ID:G6TjLWRU.net] >>499 やっぱり妥協かなー >>500 (2) はなるほどね。作ってみる (1) なんだけど、Progress.Report() での通知は、タスクを await で待機したとしても、 待機が終わった後でも Action<T> が呼ばれているとは限らない 巨大なタスクを
522 名前:渡して、 Progress.Report() が『たぶん』呼ばれるという妥協が必要かなー 単体テストをパスしたとしても、たまたま運良く Action<T> が先にスケジュールされただけだよ 下記のコードはうちの環境ではテストに失敗してた public static async Task DoLightAsync(IProgress<long> progress) { await Task.Delay(10); progress.Report(123); } [Test] public async Task DoLightAsyncTest() { bool called = false; await DoLightAsync(new Progress<long>(n => { called = true; })); Assert.IsTrue(called); } [] [ここ壊れてます]
523 名前:デフォルトの名無しさん mailto:sage [2017/03/18(土) 00:00:39.16 ID:3lIBsEeS.net] 惜しいところまでは行ってるな Progressのインスタンスを渡すのではなく IProgressを継承し同期のReportを実装したクラスのインスタンスを渡す
524 名前:デフォルトの名無しさん mailto:sage [2017/03/18(土) 10:58:29.15 ID:UTVmwL6L.net] ふむー、こうか 確かに Progress<T> にこだわる必要はなかったなー public class SynchronousProgress<T> : IProgress<T> { private readonly SynchronizationContext _Context; private readonly Action<T> _Action; public SynchronousProgress(Action<T> action) { _Action = action; _Context = SynchronizationContext.Current ?? new SynchronizationContext(); } private void Callback(object state) { _Action?.Invoke((T)state); } public void Report(T value) { _Context.Send(Callback, value); } } 見づらいと思うので一応 pastebin にも貼っておく pastebin.com/QjF0XkH4
525 名前:デフォルトの名無しさん [2017/03/19(日) 00:14:21.68 ID:xAk2llJg.net] ファイルのタイムスタンプを指定した時刻に変更したいんですが、コードのヒントをくださいm(_ _)m
526 名前:デフォルトの名無しさん mailto:sage [2017/03/19(日) 00:19:27.37 ID:8DI2TWvJ.net] >>505 FileInfo
527 名前:デフォルトの名無しさん mailto:sage [2017/03/19(日) 00:30:52.74 ID:VKtnwSVx.net] 「ファイルのタイムスタンプ」でグーグル先生に聞けば www.atmarkit.co.jp/fdotnet/dotnettips/370timestamp/timestamp.html が一発で出てくるんだけど掲示板で聞く方が面倒じゃないの
528 名前:デフォルトの名無しさん mailto:sage [2017/03/19(日) 06:34:49.31 ID:bkt1N2YW.net] 検索知らないんでしょ
529 名前:デフォルトの名無しさん mailto:sage [2017/03/19(日) 13:50:14.09 ID:PWrmpV5o.net] 2chスレへたどり着けるのに検索知らないとかこれ如何に
530 名前:デフォルトの名無しさん [2017/03/19(日) 14:33:00.16 ID:DWsQT7k4.net] 「お前ら、検索頼むわ(丸投げ)」
531 名前:デフォルトの名無しさん mailto:sage [2017/03/19(日) 14:45:08.30 ID:1DEeFth3.net] おまいらは回答する機械
532 名前:デフォルトの名無しさん mailto:sage [2017/03/19(日) 14:53:33.02 ID:VKtnwSVx.net] まあ調べたら自分の新しい知識になる場合もあるからいいんだけど この程度の事も検索しないのならコードなんか書けないような
533 名前:デフォルトの名無しさん mailto:sage [2017/03/19(日) 15:03:19.30 ID:lJcyTqFl.net] プログラムやる奴らって質問されるとキレながらも答えたい願望あるんだよな そして煽って議論させるのも好き だからわざわざ検索しないでここに投げてあげたりする
534 名前:デフォルトの名無しさん mailto:sage [2017/03/19(日) 15:04:25.29 ID:1DEeFth3.net] それにしたって餌としてはしょぼすぎる
535 名前:デフォルトの名無しさん [2017/03/19(日) 15:10:14.91 ID:p4p+SSjy.net] ボランティアを馬鹿にすんじゃねーぞ、コラ!
536 名前:デフォルトの名無しさん mailto:sage [2017/03/19(日) 16:02:53.06 ID:T5IZ831S.net] 人力検索
537 名前:デフォルトの名無しさん mailto:sage [2017/03/19(日) 16:06:30.35 ID:z5/tCjGK.net] >>513 そういうのは初心者向けふらっとの方でやってくれw あそこなら解決済みでもグダグダ続けたがるのがいっぱいいる
538 名前:デフォルトの名無しさん mailto:sage [2017/03/19(日) 18:48:36.73 ID:lJcyTqFl.net] >>517 でも質問してくれないと寂しいんだろ?
539 名前:デフォルトの名無しさん mailto:sage [2017/03/19(日) 18:52:31.68 ID:bcM43571.net] くだ質とかVSスレとかこの板で変なやつ増えたよな 本当にプログラムやっているのかって感じの ここにも来てるのか
540 名前:デフォルトの名無しさん mailto:sage [2017/03/19(日) 21:56:16.72 ID:HC9gBYvT.net] マ板行けって思うスレ多いよな
541 名前:デフォルトの名無しさん mailto:sage [2017/03/20(月) 01:44:39.35 ID:SU/B8
] [ここ壊れてます]
542 名前:MWa.net mailto: アクセスアップとお小遣い稼ぎの裏技 トラフィックエクスチェンジ http://tra-chan.jugem.jp/?eid=1 [] [ここ壊れてます]
543 名前:デフォルトの名無しさん [2017/03/20(月) 10:11:03.85 ID:Afs087wZ.net] >>520 ←コイツの馴れ合おうとするレスうざっ
544 名前:デフォルトの名無しさん mailto:sage [2017/03/20(月) 12:24:29.57 ID:y4a+UdUh.net] >>522 マ板行け
545 名前:デフォルトの名無しさん [2017/03/20(月) 14:10:48.91 ID:pi/vFj6F.net] >>523 お前が行け