1 名前:デフォルトの名無しさん mailto:sage [2019/07/16(火) 15:36:23.74 ID:i1fbuZ/pM.net] !extend:checked:vvvvv:1000:512 次スレを立てる時は↑を2行冒頭に書くこと(1行分は消えて表示されない為) 「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。 他のスレッドでは書き込めないような低レベルな質問、 質問者自身なんだか意味がよく分からない質問、 ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。 内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。 なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。 C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください >>980 を踏んだ人は新スレを建てて下さい。 >>980 が無理な場合、話し合って新スレを建てる人を決めて下さい。 ■関連スレ C#, C♯, C#相談室 Part95 https://mevius.5ch.net/test/read.cgi/tech/1508168482/ ■コードを貼る場合は↓を使いましょう。 ideone.com/ https://dotnetfiddle.net/ ■前スレ ふらっと C#,C♯,C#(初心者用) Part143 https://mevius.5ch.net/test/read.cgi/tech/1558002486/ ■情報源 https://docs.microsoft.com/ja-jp
552 名前:デフォルトの名無しさん mailto:sage [2019/09/06(金) 13:30:16.71 ID:I5nGSvp60.net] Occam 呼んだ〜
553 名前:デフォルトの名無しさん mailto:sage [2019/09/06(金) 13:38:31.81 ID:qBxw88Xh0.net] Convert呼び出した側がOpacityとか勝手に変えたりすることがないことが明らかなら SolidColorBrushで持っててもいいよ
554 名前:デフォルトの名無しさん mailto:sage [2019/09/06(金) 13:43:03.96 ID:TB1/9ae/0.net] >>544 上記のコードは色以外は初期化したいっていう意図だったんですね 理解出来ました、どうもありがとうございます。
555 名前:デフォルトの名無しさん [2019/09/06(金) 20:41:34.27 ID:QErA9RfTd.net] return HttpResponseMessage { StatusCode=HttpStatusCode.InternalServerError } これでクライアントにレスポンス返しても、クライアントで受け取ったレスポンスコードが200になるんだが、どうすりゃ良い?
556 名前:デフォルトの名無しさん mailto:sage [2019/09/06(金) 23:59:27.95 ID:2XeZAy8C0.net] short lo = 500; short hi = -1; int value = hi << 16 & lo; 上記のプログラムでvalueに期待する結果が格納されません。 valueの右辺へおかしいところありますか?
557 名前:デフォルトの名無しさん mailto:sage [2019/09/07(土) 00:04:12.02 ID:1iyY1sdc0.net] まず期待結果を教えろよ 脳内に格納したままで喋るな
558 名前:デフォルトの名無しさん [2019/09/07(土) 00:35:07.80 ID:lng4b11Wa.net] ぶっ飛んでるねw
559 名前:デフォルトの名無しさん mailto:sage [2019/09/07(土) 00:47:49.03 ID:lKqYze8d0.net] >>547 なんとなく&(and)と|(or)を間違えてる気がするけど、期待値書いてくれなきゃ分からんねw
560 名前:デフォルトの名無しさん mailto:sage [2019/09/07(土) 01:10:23.93 ID:ClfuNVBY0.net] >>547 ビット演算?をしてる割には unsignedじゃないのが気になった
561 名前:デフォルトの名無しさん mailto:sage [2019/09/07(土) 01:21:40.06 ID:SOW3zbb30.net] C派生のシフト演算子ってビット演算子よりも優先順位低いんじゃなかったか? C#で入れ替わったのかもしれんが
562 名前:デフォルトの名無しさん [2019/09/07(土) 01:30:36.24 ID:spGdC07na.net] 型変換か?
563 名前:デフォルトの名無しさん mailto:sage [2019/09/07(土) 01:31:47.20 ID:l9Sxm6Vo0.net] >>552 docsに演算子の一覧と優先順位がある https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/operators/
564 名前:デフォルトの名無しさん mailto:sage [2019/09/07(土) 01:52:37.97 ID:lKqYze8d0.net] >>552 逆だぞ Cの時から
565 名前:デフォルトの名無しさん mailto:sage [2019/09/07(土) 01:57:56.73 ID:7Z6eBjmW0.net] ?はもっと上げてほしい
566 名前:デフォルトの名無しさん mailto:sage [2019/09/07(土) 01:58:53.26 ID:7Z6eBjmW0.net] じゃなくて??
567 名前:デフォルトの名無しさん mailto:sage [2019/09/07(土) 11:12:31.90 ID:53qID/ifa.net] async/await、読みやすいし書きやすいけどな。
568 名前:デフォルトの名無しさん [2019/09/07(土) 11:14:11.92 ID:LlCffhcK0.net] https://www.youtube.com/watch?v=O8ucIQA829w Introduction into StockSharp training course どうこれVisual Studioってこんなに速く作れるの? 自分で自動売買ソフト組めるってすごくね?
569 名前:デフォルトの名無しさん mailto:sage [2019/09/09(月) 13:42:14.17 ID:mFi2C/Ml0.net] クラスの継承について分からくなってしまったので教えて下さい。 以下のプログラムを実行すると、コメントの通り、False, True と表示されます。 [STAThread] static void Main(string[] args) { var desktopPath = Environment.GetFolderPath(Environment.SpecialFolder.Desktop); var folderItems = new Shell32.Shell().NameSpace(desktopPath).Items(); Console.WriteLine(folderItems is Shell32.FolderItems2); // False と表示される Console.WriteLine(folderItems is Shell32.FolderItems3); // True と表示される } Shell32.FolderItems3 は Shell32.FolderItems2 を継承しているので 2つ目が True なら必ず1つ目も True になると思っていたのですが、 これはどのようなことが起こっているのでしょうか。 FolderItems2 object https://docs.microsoft.com/ja-jp/windows/win32/shell/folderitems2-object FolderItems3 object https://docs.microsoft.com/ja-jp/windows/win32/shell/folderitems3-object .Net Framework 4.7.2 でコンパイルし、Windows 10 Pro で実行しました。 よろしくお願いいたします。
570 名前:デフォルトの名無しさん mailto:sage [2019/09/09(月) 13:57:18.69 ID:+ClizqJ4d.net] 下記 は子フォームから親フォームへのデータ引き渡しのサンプルです。 ShowDialog(); の戻り値を使ってないのですが、ここがよくわかりません。 static public List<object> ShowForm2(List<object> argObjs) { using (Form2 subForm = new Form2(argObjs)) { subForm.ShowDialog(); // 戻り値は? return subForm.resultObjs; } } 現在はデータの受け渡しは ShowDialog(); で表示、DialogResult を受け取り、これで処理を分岐。 これだと呼び出し側が少し膨らむと思って探していたサンプルが上のやつです。
571 名前:デフォルトの名無しさん [2019/09/09(月) 14:01:51.48 ID:FLVXg6p/0.net] >>560 type of
572 名前: [] [ここ壊れてます]
573 名前:デフォルトの名無しさん mailto:sage [2019/09/09(月) 14:25:45.50 ID:wj5pBZXU0.net] >>561 それだけじゃ何とも言えないけど ダイアログがキャンセルされたかどうかもresultObjsに含んでる またはキャンセルされたかどうかは重要ではない のどっちかでDialogResultは不要と考えたんじゃね あとはただのチェック忘れか
574 名前:デフォルトの名無しさん mailto:sage [2019/09/09(月) 14:33:19.47 ID:+8Zg4WGY0.net] showdialogはあくまでサブフォーム表示中に 処理を進めないためだけに使っていて 表示したサブフォームがOKもキャンセルもない作りなら 返り値を使う必要がないんだろう 例えばファイルの検索処理とその経過を表示するだけの サブフォームだったりするんじゃないかな
575 名前:デフォルトの名無しさん [2019/09/09(月) 14:44:41.43 ID:y33/yVcMa.net] >>560 FolderItems2とかFolderItems3はあくまでVSによって作られた ラッパークラスなんだと思うけど、たぶんこのラッパークラスには 元のCOMの継承関係は反映されないんだろう。 知らないけど。
576 名前:デフォルトの名無しさん mailto:sage [2019/09/09(月) 14:54:29.42 ID:mFi2C/Ml0.net] >>562 レスどうもありがとうございます。 申し訳ないですが、おっしゃりたいことが理解できませんでした。 >>565 レスどうもありがとうございます。 >>560 で貼り付けた URL は不適切で、 本来は以下の URL を貼り付けるべきでした。 申し訳ないです。 FolderItems2 Interface https://docs.microsoft.com/en-us/dotnet/api/shell32.folderitems2 FolderItems3 Interface https://docs.microsoft.com/en-us/dotnet/api/shell32.folderitems3 この .Net の説明を見てもやはり継承関係はあるようですし、 if (folderItems is Shell32.FolderItems3 folderItems3) { Shell32.FolderItems2 folderItems2 = folderItems3; } のようなコードもコンパイルエラーにならないので、 継承関係があることは間違いないと思います。 また何かお分かりのことがあれば教えていただけると嬉しく思います。 よろしくお願いいたします。
577 名前:デフォルトの名無しさん mailto:sage [2019/09/09(月) 15:06:55.45 ID:wj5pBZXU0.net] COMにおける継承はメンバを引き継ぐという意味であってキャスト可能かどうかは別の話だから .NETのコード上で明示的または暗黙的にCOMオブジェクト(のラッパ)をキャストした場合 QueryInterfaceが呼び出されてそのインターフェイスに変換できるかどうかオブジェクト自身に問い合わせる だから共通型システム的には問題ない暗黙的キャストでもその下のQueryInterfaceで拒否される可能性がある
578 名前:デフォルトの名無しさん mailto:sage [2019/09/09(月) 19:12:21.94 ID:ko6k1+RqM.net] 正規表現を教えてください。 先頭一文字は大文字アルファベット、 次の一文字は大文字アルファベットかスペース、 残り五文字が数字、です。 文字数は多すぎても少なすぎてもダメてす。
579 名前:デフォルトの名無しさん mailto:sage [2019/09/09(月) 19:34:55.30 ID:N7SL81rE0.net] [A-Z][A-Z\s]\d{5}
580 名前:デフォルトの名無しさん mailto:sage [2019/09/09(月) 19:51:19.13 ID:P/8qmdeQ0.net] C#でdxfファイルを読み込んでどんなCADデータかなと表示するにはどんな方法がありますか?
581 名前:デフォルトの名無しさん mailto:sage [2019/09/09(月) 19:51:40.30 ID:+ClizqJ4d.net] >>563 戻り値使わないとエラーでビルドできないと思ったんですが、こんな書き方あるんですね。
582 名前:デフォルトの名無しさん mailto:sage [2019/09/09(月) 19:58:03.26 ID:ko6k1+RqM.net] >>569 ありがとうございます! できました!!
583 名前:デフォルトの名無しさん mailto:sage [2019/09/09(月) 19:58:22.06 ID:8qRxx3SUa.net] >>570 Autodeskのサイトからviewerが落とせたと思うがそれ使うんじゃダメなのか? C#を使って何か独自のことがしたいの?
584 名前:デフォルトの名無しさん mailto:sage [2019/09/09(月) 20:38:09.86 ID:/GXaCKPOd.net] >>570 自力でレンダリングしてるらしきサンプル見つけた https://www.codeproject.com/Articles/156522/DXF-Import-NET-Read-and-View-AutoCAD-Format-Files
585 名前:デフォルトの名無しさん mailto:sage [2019/09/09(月) 21:02:37.25 ID:gB0pdJ5j0.net] >>570 結構大変。DWGならlibreDWGってライブラリーがある
586 名前:デフォルトの名無しさん mailto:sage [2019/09/10(火) 22:30:01.75 ID:/j9k/Fivd.net] >>573 最終型は建築のキープランってものがあって、そこに無数の符号という記号が丸の中に書いてあるんだけどそこを色塗りをしたい。 >>574 ありがとうございます。 難解過ぎてゆっくり休みの日にでも読んでみます。 >>575 やっぱ大変そうですよね。調べてもなかなか... C#スレはあったかいな。ありがとうございます!
587 名前:デフォルトの名無しさん mailto:sage [2019/09/11(水) 00:00:22.11 ID:1SzE9pLa0.net] 一般人「ウィンドウ」 キモオタ「フォームがーーー」
588 名前:デフォルトの名無しさん [2019/09/11(水) 18:58:32.68 ID:YXyi8nZ+0.net] フォームってなに?泡?
589 名前:デフォルトの名無しさん mailto:sage [2019/09/12(木) 08:36:47.62 ID:XbTCqLqm0.net] c#は食わず嫌いだったけど使ってみたら案外良かった 使いやすいように改良してるんだな
590 名前:デフォルトの名無しさん mailto:sage [2019/09/12(木) 11:25:52.65 ID:QIiZhm2T0.net] コントロールのタイマーの質問なんですが private void Timer1_Tick(object sender, EventArgs e) { MyClass myClass = new MyClass(this); myClass.//クラスの処理いろいろ } こう書くと毎回クラスが初期化されてしまいます タイマー内で同じクラスのインスタンスを使い続けたい場合どのように書けばいいのでしょか?
591 名前:デフォルトの名無しさん mailto:sage [2019/09/12(木) 11:31:00.31 ID:AZGZd9Ny0.net] myClassをメンバ変数にする
592 名前:デフォルトの名無しさん mailto:sage [2019/09/12(木) 11:40:42.95 ID:2zGYYD27p.net] myClassなんて再利用性が皆無なネーミングすんなよ。
593 名前:デフォルトの名無しさん mailto:sage [2019/09/12(木) 11:45:28.48 ID:joMf8nOja.net] >>582 説明のための命名だろうよ
594 名前:デフォルトの名無しさん mailto:sage [2019/09/12(木) 12:10:59.94 ID:V+BKjeIEM.net] 発達はコンテキストが想像できないから…
595 名前:デフォルトの名無しさん mailto:sage [2019/09/12(木) 13:44:13.80 ID:j3ZoG8EK0.net] >>582 aho
596 名前:デフォルトの名無しさん [2019/09/12(木) 14:02:29.31 ID:0aQt/zFJa.net] >>580 タイマーのイベントハンドラを消して、適当なタイミング(例えばFormのLoadイベントとか)で private void Form1_Load(object sender, EventArgs e) { var count = 0; timer1.Tick += (snd, ea) => { Console.WriteLine($"count = {count++}"); }; } でもこれだとイベントの購読解除ができないので注意 っていうか、ジョークだから真に受けないでw
597 名前:デフォルトの名無しさん mailto:sage [2019/09/12(木) 20:25:20.03 ID:QIiZhm2T0.net] >>581 レスサンクス、そもそも宣言しないってことですか それもアリかも、今回はインスタンス1個で済みそうだし >>586 レスサンクス、むむむ、どうなるん? >>582 めっちゃわかりやすいし
598 名前:デフォルトの名無しさん mailto:sage [2019/09/13(金) 14:33:13.49 ID:FohQxIv6d.net] >>587 コンストラクタかTickイベント(初回のみ)でTimerのTagプロパティにMyClassインスタンスを設定 senderからTagに設定されているインスタンスを取得して利用するってやり方もある 1タイマー1MyClassって感じの設計ならこっちの方がいいかもね
599 名前:デフォルトの名無しさん mailto:sage [2019/09/13(金) 16:09:57.39 ID:GqasltTgM.net] 再利用性のないクラスの名前に拘り過ぎるのは 効率的に無駄だなと感じる ライブラリ用のクラスは拘るけどね
600 名前:デフォルトの名無しさん mailto:sage [2019/09/13(金) 17:07:26.51 ID:zz4VRjti0.net] >>588 レスサンクス だけど考えても理解できませんでした
601 名前:デフォルトの名無しさん mailto:sage [2019/09/13(金) 17:17:29.19 ID:GqasltTgM.net] これでいいじゃない private MyClass myClass = new MyClass(this); private void Timer1_Tick(object sender, EventArgs e) { myClass.//クラスの処理いろいろ }
602 名前:デフォルトの名無しさん [2019/09/13(金) 17:23:20.15 ID:65eTAicb0.net] マイコラスの嫁がかわいい
603 名前:デフォルトの名無しさん mailto:sage [2019/09/13(金) 17:47:41.70 ID:FohQxIv6d.net] >>590 コンストラクタで、 Timer1.Tag = new MyClass(this); イベントで var myClass = ((Timer)sender).Tag as MyClass; コンストラクタで作ったインスタンスがTimer1のイベントで使えるようになる これで理解出来そう?
604 名前:デフォルトの名無しさん [2019/09/13(金) 17:49:44.94 ID:XXPMNkq8a.net] >>590 たぶんこう var mc = (timer1.Tag ?? (timer1.Tag = new MyClass())) as MyClass; でもこんなアホなことやったらあかんw
605 名前:デフォルトの名無しさん mailto:sage [2019/09/13(金) 17:59:46.24 ID:FohQxIv6d.net] 捕捉でsenderの扱いに馴染みがなくて分かりずらいなら var myClass = Timer1.Tag as MyClass; って直接コントロールを見てもいいかな 10個のタイマーでそれぞれクラス作るとかだと、メンバに持つのが嫌になるからそういう時に便利
606 名前:デフォルトの名無しさん mailto:sage [2019/09/13(金) 21:09:16.91 ID:zz4VRjti0.net] >>591 サンクスです、やってみました //キーワード 'this' は現在のコンテキストでは使用できません。 thisがなければいけるのですが、 >>593 サンクスです、コンストラクタってMyClassでしょか? Timer1.Tag = new MyClass(this); //thisが受け付けてもらえません 仕方ないのでButton1_Clickに置きました var myClass = ((Timer)sender).Tag as MyClass; //myClassがNullになります var myClass = Timer1.Tag as MyClass; //こっちもNullになります >>594 サンクスです、うまく動きました でも正直あまり理解できてません 注:理解するのに時間がかかります
607 名前:デフォルトの名無しさん mailto:sage [2019/09/13(金) 21:48:16.79 ID:PFGdVlPv0.net] windows form で背景色を白から青にジョジョにアニメーションで変化させるには? 今のところコードは下記です。 void timer_Tick(object sender, EventArgs e){ // 白 255,255,255 // 黒 0,0,0 var a = textBox1.BackColor.A; var r = textBox1.BackColor.R; var g = textBox1.BackColor.G; var b = textBox1.BackColor.B; if (a == 255) { a = 1; } var a = a + 25; if (a >= 255) { a = 255; } var r = textBox1.BackColor.R - 25; if ( r <= 0) { r = 0; } var g = textBox1.BackColor.G - 25; if ( g <= 0 ) { g = 0; } var b = textBox1.BackColor.B + 25; if (textBox1.BackColor.B >= 255) { b = 255; } textBox1.BackColor = Color.FromArgb(a, r, g, b); // 終了条件チェック、 // 終了処理 }
608 名前:デフォルトの名無しさん mailto:sage [2019/09/13(金) 22:11:07.86 ID:YdWi/cYta.net] >>597 int counter = 0; void timer_Tick(object sender, EventArgs e) { counter++; counter %= 256; textBox1.BackColor = Color.FromArgb(255 - counter, 255 - counter, 255); }
609 名前:デフォルトの名無しさん mailto:sage [2019/09/13(金) 22:12:15.08 ID:Gf0j4OgCd.net] >>596 >>580 でMyClassにthis を渡しているから皆thisを渡してインスタンスを作ってんだけどthisいらないの? いらないならthisは消していいよ
610 名前:デフォルトの名無しさん mailto:sage [2019/09/13(金) 22:27:35.64 ID:zz4VRjti0.net] >>599 いやthisは欲しいです、Class内からtextboxコントロールのメソッド触りたいので form1渡してます
611 名前:デフォルトの名無しさん [2019/09/13(金) 23:44:37.81 ID:aO4dryeFa.net] >>597 やってみた public partial class Form1 : Form { private Stopwatch mStopwatch = new Stopwatch(); public Form1() { InitializeComponent(); } private Color BlendColor(Color a, Color b, double pos) { Func<int, int, int> blend = (i, j) => { var x = Math.Round((1 - pos) * i + pos * j, 0); return Math.Min(255, (int)x); }; var A = blend(a.A, b.A); var R = blend(a.R, b.R); var G = blend(a.G, b.G); var B = blend(a.B, b.B); return Color.FromArgb(A, R, G, B); }
612 名前:デフォルトの名無しさん [2019/09/13(金) 23:44:54.82 ID:aO4dryeFa.net] private void button1_Click(object sender, EventArgs e) { mStopwatch.Restart(); } private void timer1_Tick(object sender, EventArgs e) { var timeout = 5d; var elapse = Math.Min(timeout, mStopwatch.ElapsedMilliseconds / 1000d); var pos = elapse / timeout; BackColor = BlendColor(Color.White, Color.Blue, pos); } }
613 名前:デフォルトの名無しさん mailto:sage [2019/09/14(土) 02:16:18.45 ID:BYSNLn3J0.net] >>600 コンストラクタやフィールドだとthisって使えないんだっけ? それならこれでいけるかな Tagの方も同じ感じでいけるはず private MyClass myClass; private void Timer1_Tick(object sender, EventArgs e) { if(myClass = null) {myClass = new MyClass(this);} myClass.//クラスの処理いろいろ }
614 名前:デフォルトの名無しさん mailto:sage [2019/09/14(土) 09:11:10.12 ID:weYOKlpc0.net] >>603 れすさんくすです なるほど宣言と初期化をわけるのですね、うまく動きました
615 名前:デフォルトの名無しさん mailto:sage [2019/09/14(土) 11:56:47.95 ID:vC+cN/7F0.net] Action<T>は値型という解釈で良いのでしょうか? var dic = new Dictionary<int, Action<float>>()という辞書に保持されているActionのメソッドを引いたり足したりしたいのですが、 下記のようにするとdicのvalueには反映されないようですが再度dicに追加してアップデートしないといけないということでしょうか? var action = dic[1]; action += method; // action.GetInvocationList().Lengthを調べるとちゃんと足されてる一方、dic[1].GetInvocationList().Lengthは変化なし
616 名前:デフォルトの名無しさん mailto:sage [2019/09/14(土) 12:17:37.64 ID:iAxlaW7xa.net] デリゲートは参照型 action += method は文字通り action = action + method であり、結合後の新しいインスタンスが action に代入される デリゲート同士の + は String と同様に言語仕様によって特別扱いされており、Delegate.Combine メソッドの呼び出しに変換される ちなみにイベントに対する += は x.ev = x.ev + method ではなくプロパティと同様にxに対する特殊なメソッド呼び出しになる 作法的な話をすると、デリゲートのマルチキャストは歴史的経緯による遺物であり、イベントハンドラ以外には基本的に使わない方がいいよ
617 名前:デフォルトの名無しさん mailto:sage [2019/09/14(土) 12:37:52.80 ID:vC+cN/7F0.net] なるほど、action += methodは、action = new Action(action + method)的な形ということだったんですね ありがとうございます
618 名前:デフォルトの名無しさん mailto:sage [2019/09/14(土) 14:06:14.47 ID:nQc/7xFt0.net] Windows form だとちょっとした色変えるだけのエフェクト書くの大変。 iPhone swift だと 下記みたいな 2行 でかけるのに。 UIView.animate(withDuration: 0.5, delay: 0.0, options:[] , animations: { TextField.backgroundColor = .blue } , completion : { _ in TextField.backgroundColor = .white } ) Form のクラスメソッドに色、透明度、位置、回転、大きさとかを変化させるアニメーション系のメソッド追加してほしいね。
619 名前:デフォルトの名無しさん mailto:sage [2019/09/14(土) 16:27:56.54 ID:y7dkXYFS0.net] >>608 そういう人はWPF使う方がええよ mvvmにこだわらなければそんな差ないし
620 名前:デフォルトの名無しさん [2019/09/15(日) 11:17:21.32 ID:ZbgEJrYza.net] 今でも業務系のASPって、MVCよりWeb formsのほうが多い?
621 名前:デフォルトの名無しさん mailto:sage [2019/09/15(日) 11:21:19.74 ID:0P7zcb1/0.net] >>610 多いと言うか更改されずに腫れ物システムとして生き残ってるのが多いよ
622 名前:デフォルトの名無しさん mailto:sage [2019/09/15(日) 11:23:22.76 ID:qUTb/lfg0.net] >>610 ASPとASP.NETは違うよ
623 名前:デフォルトの名無しさん [2019/09/15(日) 14:39:22.86 ID:CYqvBFjrF.net] ASP: Application Service Provider
624 名前:デフォルトの名無しさん mailto:sage [2019/09/15(日) 17:44:41.18 ID:DjqXGTBC0.net] >>612 aho
625 名前:デフォルトの名無しさん [2019/09/15(日) 17:46:02.32 ID:tc+PQ4bB0.net] アスペルガー
626 名前:デフォルトの名無しさん mailto:sage [2019/09/15(日) 18:48:25.55 ID:qUTb/lfg0.net] >>614 お前がな
627 名前:デフォルトの名無しさん mailto:sage [2019/09/15(日) 19:36:43.99 ID:50f2l1H40.net] application hosting options
628 名前:デフォルトの名無しさん mailto:sage [2019/09/15(日) 20:38:22.87 ID:IMDj4f3rd.net] >>612 アプリケーションサービスプロバイダ(英語: Application Service Provider、ASP)とは、 アプリケーションソフト等のサービス(機能)をネットワーク経由で提供するプロバイダ(= provide 提供する 事業者・人・仕組み 等全般)のこと[1]。 広義にはこうした仕組みのソフトウェア提供形態やビジネスモデルまでも指す[1]。 https://ja.m.wikipedia.org/wiki/%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%83%97%E3%83%AD%E3%83%90%E3%82%A4%E3%83%80
629 名前:デフォルトの名無しさん [2019/09/15(日) 22:04:55.99 ID:ZbgEJrYza.net] >>610 です >>612 ごめんなさい。自分が端折ってしまったのがいけませんでした。ASP.NETです >>611 やはりそんな感じなんですかね。意外とASP.NET関連の求人が多いので保守メインなのか開発メインなのか気になったもので
630 名前:デフォルトの名無しさん mailto:sage [2019/09/15(日) 22:31:35.04 ID:007yvQzV0.net] ACTIVE SELF PROTECTION の求人だったりして https://activeselfprotection.com/
631 名前:デフォルトの名無しさん mailto:sage [2019/09/16(月) 01:27:46.19 ID:2BSu07WM0.net] Bitmapを返すdllがあります(C#で作成) それをWinFormsで参照し、Bitmapを受け取りたいのですが、空の?Bitmapが返ってきます。 デバッガでdll側がきちんとBitmapをreturnしているところまでは確認できました。 ほかにどごを見直せばいいでしょうか
632 名前:デフォルトの名無しさん mailto:sage [2019/09/16(月) 01:45:47.54 ID:2BSu07WM0.net] >>621 dll側をよく確認したところ、記述ミスがありました。 スレ汚ししてしまってすみません。
633 名前:デフォルトの名無しさん mailto:sage [2019/09/16(月) 10:01:49.86 ID:z/LnXMaR0.net] Process.Start() で既に起動済みの外部コンソールアプリにコマンドを渡して結果を受け取りたいんですけど どうすればいいですか?
634 名前:デフォルトの名無しさん [2019/09/16(月) 10:55:23.20 ID:1SVMjj7z0.net] >>623 起動時に繋いどかないと後からは無理 cammy.co.jp/technical/2017/05/16/c-%e6%a8%99%e6%ba%96%e5%87%ba%e5%8a%9b%e3%82%92%e8%87%aa%e5%88%86%e3%81%ae%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%a0%e3%81%ab%e3%83%aa%e3%83%80%e3%82%a4%e3%83%ac%e3%82%af%e3%83%88%e3%81%99/
635 名前:デフォルトの名無しさん mailto:sage [2019/09/16(月) 11:17:36.58 ID:TvwShLRF0.net] >>623 processをどう作ったか書かないと
636 名前:デフォルトの名無しさん mailto:sage [2019/09/16(月) 12:31:59.14 ID:z/LnXMaR0.net] >>625 普通にこんな感じです Process prc=new Process(); ProcessStartInfo psInfo = new ProcessStartInfo(); psInfo.FileName = "hoge.exe"; psInfo.CreateNoWindow = true; psInfo.UseShellExecute = false; prc.StartInfo = psInfo; prc.Start(); コンソールアプリはすぐに終了せずに待機してくれるタイプです
637 名前:デフォルトの名無しさん mailto:sage [2019/09/16(月) 12:42:54.00 ID:yFJZVYWt0.net] >>626 自分でプロセスを起動してるなら入出力をリダイレクトするだけ psInfo.RedirectStandardOutput = true psInfo.RedirectStandardInput = true; 起動後は proc.StandardInput.WriteLine("hoge"); proc.StandardOutput.ReadToEnd(); proc.WaitForExit();
638 名前:デフォルトの名無しさん mailto:sage [2019/09/17(火) 18:45:14.27 ID:4wOD4j6P0.net] ポリモーフィズムに関しての質問なんですけど よくある例えでdogクラスのオブジェクトもcatクラスのオブジェクトもまとめてanimalクラスの配列で扱えるみたいなのあるじゃないですか でも例えばこの時catクラスでだけ定義されてるフィールドがあったとして、配列に格納した途端アクセスできなくなっちゃいませんか privateとかpublicは置いといて、たとえば、bool isPrettyとか定義されてたとして、animals[0].isprettyは無理じゃないですか。親クラスから子クラスで独自に定義されてるもんは触れられないですよね とりあえずまとめて親クラスで持っておいて使う時になったら子クラスの情報使いたいみたいなときなんかうまくやる方法ってないもんですかね。
639 名前:デフォルトの名無しさん mailto:sage [2019/09/17(火) 18:49:22.91 ID:6boldAmf0.net] C#的にはパターンマッチングで分岐すればそれは可能だが 親クラスが持っていない情報を子クラスが持っている時点でそのクラス設計は疑わしい その例ならanimalクラスにvirtual bool IsPrettyを持たせるべき
640 名前:デフォルトの名無しさん mailto:sage [2019/09/17(火) 18:50:41.39 ID:fvAMDErgd.net] そもそも使うものをまとめておくのが親クラスというかインターフェースや抽象クラスの役目なので、持ってるかどうかもわからないisprettyを使いたいのが間違ってる。無理やりやるんならリフレクションで存在確認するしかないよ
641 名前:デフォルトの名無しさん mailto:sage [2019/09/17(火) 18:51:12.83 ID:6boldAmf0.net] 親クラスが持っていない情報というのは言い過ぎだな 親クラスが持っていないpublicプロパティを子クラスが持っているのは怪しい設計
642 名前:デフォルトの名無しさん mailto:sage [2019/09/17(火) 18:54:14.01 ID:fvAMDErgd.net] 例えばヒゲのプロパティは猫しか持ってないと思うけど、そういう場合は is か as で具象クラスの型を確認してキャストして取ることは出来るけど、それはなんか気持ち悪い気がする
643 名前:デフォルトの名無しさん mailto:sage [2019/09/17(火) 19:11:59.16 ID:6boldAmf0.net] 全動物のうち猫しかヒゲを持ってないわけじゃあるまいし Animal型にNullable型のヒゲプロパティを持たせてそれがnullかどうかで処理を分岐させればいいだけでは Animalクラスがヒゲを持ってるのは唐突過ぎると思うならFaceプロパティでも挟めばいい
644 名前:デフォルトの名無しさん mailto:sage [2019/09/17(火) 19:13:48.81 ID:189yfApBd.net] >>628 親クラスを無駄なメンバーで膨らませるのはバッドパターン。 インターフェイスを使うべき。 IPrety InterFace を付けたなんらかの型のリストをループすればいい。 // IPrety InterFace で拡張した型ならなんでもループで回せる。 if myUnit.isPrety == true { myUnit.doSomething(); }
645 名前:デフォルトの名無しさん mailto:sage [2019/09/17(火) 20:02:19.06 ID:5qQz1pKl0.net] >>628 ダウンキャストしなされ as クラス名;でよろし
646 名前:デフォルトの名無しさん mailto:sage [2019/09/17(火) 20:15:43.47 ID:4wOD4j6P0.net] 色々勉強になりました こう共通のメソッドとフィールドがあるからくくりだして親にしようくらいの気持ちだったんですけどぐぐったらそういうのそもそもダメらしいですね 素直に各クラスで同じフィールド定義して継承関係全部なくそうと思います。
647 名前:デフォルトの名無しさん mailto:sage [2019/09/17(火) 20:16:03.96 ID:mLXav9Fo0.net] まあそれだったらanimalに純粋仮想メソッド作ってCatにだけ必要な処理書くほうがいいって考えはわかる
648 名前:デフォルトの名無しさん mailto:sage [2019/09/17(火) 20:45:51.61 ID:gcZDzsnLa.net] >>631 えー、そうなんか それけっこう使ってるなぁ、、、
649 名前:デフォルトの名無しさん mailto:sage [2019/09/17(火) 21:13:37.27 ID:XDhMjXUv0.net] .NET Framework の Object クラスを全否定してるじゃんw
650 名前:デフォルトの名無しさん mailto:sage [2019/09/17(火) 21:14:22.17 ID:D+I+Wj20M.net] 親クラスが持ってないプロパティを子クラスが持ってるって .Netですらわんさかあるじゃないの
651 名前:デフォルトの名無しさん mailto:sage [2019/09/17(火) 21:15:50.88 ID:D+I+Wj20M.net] あ、かぶった 機能を追加するために継承して関数やプロパティを増やすのが ごく普通の設計じゃね 子クラスの全プロパティを親が網羅してたら使いにくいわ
652 名前:デフォルトの名無しさん mailto:sage [2019/09/17(火) 21:42:46.98 ID:hXcOzvgxa.net] 機能を追加するための継承は現代的なOOPではあまり積極的には行われないんだよ 現代的なOOPにおいては実装継承は本質的に悪であるとされ、明確なメリットがある場合を除いて基本的に避けるんだよ 端的に言えば、抽象クラスを定義して、明確に拡張ポイントとして用意されたメソッドのみをオーバーライドする、 という使い方が今時の唯一の実装継承の使い方であると理解しておけばマサカリを食らうことはない 機能を追加したいだけなら継承する必要は全くなくて、ただそれぞれのクラスを別個に使うか、包含すりゃいいだけだ