19/06/01 20:30:00.92 PRAPBnxH0.net
>>256
C#は言語で、Visual C#はかつてのC#単体のIDE(開発環境)
Visual C#はVisual Studioに統合されたから忘れて良いよ
263:デフォルトの名無しさん
19/06/01 20:45:29.99 AyUs9JF+M.net
CSCコマンドで不謹慎なプログラムを
作るゆうくんみたいな人がいるから
基本的には言語のスレかな
264:デフォルトの名無しさん
19/06/01 23:20:47.14 QdCh0app0.net
>>248
はいはい。Rubyスレにでも行って熱く議論してね
265:デフォルトの名無しさん
19/06/02 02:20:41.28 RpZopSul0.net
VC#はC#のMS実装という意味も含んでるんだと思ってた。
って、C#って外部団体で標準化されてたよね。
プリンタは細線が印刷されない経験が俺にもいくつか有る。
VB(not .net)全盛の時代だったから今もそうなのかは分からんが、
画面に線が表示されない現象が残ってる以上は印刷でも有り得るとは思う。
最初から考慮しとく必要は無いけど、現象にぶち当たった時に小手先の対応を求められるかも知れん。
APIやドライバに不備が合ったとしても最終納品物の品質に届いてないのだから。
266:デフォルトの名無しさん
19/06/02 03:05:37.66 Ur8Ia+9na.net
基本的にググって同じ例が見つからない「不具合」はリアルな不具合ではなく、
単純にコードのバグだと思った方がいいと思います。
ダメな奴ほど自分のコードを疑う前にシステム側の不具合だと思いたがるのは鉄板の法則です。
267:デフォルトの名無しさん
19/06/02 06:25:49.41 VOFsXmY20.net
>>261
まだやってたのか。
まず自分のコードを疑うのは言わずもがなで、そこは誰も否定していないだろう。その上で、そういうシステムの不具合の可能性もあるという話をしているだけだろう。お前だけが頑なにシステムの不具合の可能性を否定しているだけで。
268:デフォルトの名無しさん
19/06/02 07:12:42.38 LTngafh+a.net
>>260
対応する前に切り分けしなよ
複数のプリンタで同じ不具合が出るならプログラムを直すべきだが
そうでないなら運用の問題だからプログラムを直しちゃダメだ
それはプリンタの修理か買い替えで対処すべき問題
269:デフォルトの名無しさん
19/06/02 07:15:59.02 aKjmCqfpM.net
まだするのか?
270:デフォルトの名無しさん
19/06/02 07:22:28.51 LiI7xu6KM.net
>>263
まだいたのかw
271:デフォルトの名無しさん
19/06/02 07:40:24.50 LTngafh+a.net
>>265
ストーカーか?
272:デフォルトの名無しさん
19/06/02 08:42:21.96 LiI7xu6KM.net
専ブラも知らんアフォ?w
273:デフォルトの名無しさん
19/06/02 08:58:05.34 LTngafh+a.net
>>267
専ブラを使ったストーキング行為ってことか?
274:デフォルトの名無しさん
19/06/02 11:22:31.70 caoNnds2a.net
>>262
ちょっと被害妄想激しすぎないか。
>>261はあくまで一般論。
ついでに言わせてもらうけど、前にも書いたがやっぱり「こういうタイプ」の思考回路の人だよね。
「まだやってる」のは少なくとも君自身も同じじゃないのか?
「こういうタイプ」というのは、要するに自分を客観的に見る(少なくとも見ようとする)
もう一人の自分を持ってないタイプの人のことね。
275:デフォルトの名無しさん
19/06/02 13:59:29.33 RszfEHjQ0.net
>>269
> もう一人の自分を持ってないタイプの人のことね。
お前が言うなよ…w
276:デフォルトの名無しさん
19/06/02 16:42:31.41 vrlrWPYK0.net
>>269
日曜までプリンタの話題を引きずりたくはないが、
一般論として、自分がハマった経験も回避した経験もあって、かつ関連する記事も出せて、CADなら?みたいな無茶振りにも(たまたま俺の分野にヒットしたからだけど)答えてるのに、
「それを客観的に見る君」はなぜどこにも居なかったのかが一番疑問。
少なくとも知らなかったことは勉強になったぐらい言っときつつ、初心者に嘘ついちゃったことは反省したほうが良いと思うよ。
CADはプリンタどころか、環境に対するパッチも出てる。
ちなみにAutoCADはC#のSDKがあってとても便利。
277:デフォルトの名無しさん
19/06/02 17:05:52.35 9gx2Q+LYM.net
だからRubyスレ行けって
278:デフォルトの名無しさん
19/06/02 17:52:11.75 p6Dnlml40.net
お前らいっつも同じ争いしてんな
279:デフォルトの名無しさん
19/06/02 19:27:35.27 YyssyKgv0.net
毎回同じ奴らが騒いでいるだけだぞ
280:デフォルトの名無しさん
19/06/02 20:30:48.86 TlH6VNHL0.net
>>248
お前毎回悪質
知らないのにいきなりレスで罵倒したり
281:デフォルトの名無しさん
19/06/03 00:09:53.43 onOW6rqi0.net
MVVMについて学びたいんですけどどういうルートで学ぶのがいいんですかね
少し古くてもWPFや.NET MVCあたりの本を読むのがいい?
おすすめの書籍とかあれば教えてください
282:デフォルトの名無しさん
19/06/03 00:34:48.53 D/nGT1NT0.net
githubに転がってるチュートリアルを一通り触る
小さな機能のアプリをめんどくさがらず作法に則って作る
283:デフォルトの名無しさん
19/06/03 12:46:16.15 E+jaCPkn0.net
質問です。
iPhoneアプリしかでていないゲームで
例えば
「戦う」ボタンを一定間隔でクリックする方法ってありますか???
Androidならできると思います.
詳しい人教えてください!
284:デフォルトの名無しさん
19/06/03 12:48:42.27 KnjAO8isM.net
pythonが実行できると聞いたがそんなとこまでいじれるだろうか?
ってスレ違いやん
285:デフォルトの名無しさん
19/06/03 12:53:29.17 E+jaCPkn0.net
とあるiPhoneのゲームで最強になりたいんだよね。
PCゲームなら自動化はできるけど、iPhoneアプリの操縦となるときついかな~。
誰か変態的にスキルの高い人教えてください。
286:デフォルトの名無しさん
19/06/03 12:56:31.64 FQNT6/jdd.net
スレ違い言われてるでしょ
287:デフォルトの名無しさん
19/06/03 13:01:47.44 E+jaCPkn0.net
板違いとは言われてません
288:デフォルトの名無しさん
19/06/03 13:15:49.41 KnjAO8isM.net
仮にできても潰してくる類の処理だから探す気になれんな
289:デフォルトの名無しさん
19/06/03 13:25:21.39 km43TpLN0.net
>>278
「ユーザー入力の記録・再生」なるものが、iOSでもできるようになっているなら、
その「再生」のやり方を使えばできる可能性はある。
Windowsなら、マウスやキーボードのイベントの WM_LBUTTONDOWN, WM_KEYDOWN
などを ゲームの Window に PostMessage() してやれば良いだけなんだけど。
290:デフォルトの名無しさん
19/06/03 13:26:10.65 FQNT6/jdd.net
こういうの作れ
不正検知がかなり難しい部類でbanの危険性下げれる
URLリンク(youtu.be)
291:デフォルトの名無しさん
19/06/03 13:39:34.81 yo5xl/l60.net
同じ場所をタップするだけならソレノイド使えば簡単にできるよ。
C#にこだわるなら、UWPを組んでラズパイ+Win10 IOT Coreとかね。
292:デフォルトの名無しさん
19/06/03 14:41:32.88 E+jaCPkn0.net
>>283
日本語しゃべってくれ
>>284
iPhoneアプリをWindows上でエミュレートしつつ
Windows APIを使えばできるかな~と思ってます。
>>285 >>286
できれば、ソフトだけで完結させたいです。
走り回って敵が出てきたら戦闘、HPが減ったら回復→無限ループ
293:デフォルトの名無しさん
19/06/03 14:45:41.67 2YPOAxrwa.net
>>282
それなら、この板で適切なスレを見つけてそちらで聞いてきな
294:デフォルトの名無しさん
19/06/03 14:46:24.90 FQNT6/jdd.net
>>287
iOSアプリのエミュレートをWinでって時点でかなりハードル高い
普通は前提条件としてMacになる
そしてそんな前提条件すら把握できてないならまず無理だから諦めて
せめてMac関連のスレに行って
295:デフォルトの名無しさん
19/06/03 14:48:09.12 yo5xl/l60.net
>>287
iPhoneのエミュを作るの?
頑張ってね。
296:デフォルトの名無しさん
19/06/03 15:00:10.18 ZJy6OnVgF.net
ワン切りとかチケット予約とか電話しまくるアプリの場合
ソフトでなんとかしても規制かかるよな
やっぱソレノイド最強
297:デフォルトの名無しさん
19/06/03 15:39:53.42 E+jaCPkn0.net
>>289
なるほどですね。
iOSとObjectiveCを勉強しなくちゃならなそうですね。
298:デフォルトの名無しさん
19/06/03 18:06:39.53 KkdWK1BJ0.net
【速報】クオカード五百円分とすかいらーく優待券をすぐ貰える
URLリンク(pbs.twimg.com)
① スマホでたいむばんくを入手
② 会員登録を済ませる
③ マイページへ移動する。
④ 招待コード→招待コードを入力する [Rirz Tu](スペース抜き)
今なら更に4日18時までの登録でクオカードとすかいらーく優待券を両方ゲットできます
数分で出来ますのでご利用下さい。
299:デフォルトの名無しさん
19/06/04 09:38:16.84 lHE5izfja.net
デザイン画面のtoolStripMenuItemの項目をダブルクリックして、メソッド作ったのだけど、
仕様変更してるうちにこのメソッドは要らなくなったのでできればコードから削除したいのだけど
ただ削除してもどこからも呼び出してないのになんかエラー出るし、どうすれば安全に削除できるのでしょうか
300:デフォルトの名無しさん
19/06/04 10:05:48.18 DtXMrPXEp.net
C#ってさ、分かりやすくしようとして、より複雑化してるよな?
301:デフォルトの名無しさん
19/06/04 10:08:49.20 JKFFUl2mM.net
>>295
毛ほどもわかりやすくしようなんて気は見られない
僕の考えた変態言語仕様ドヤァ!
しか知らんが
302:デフォルトの名無しさん
19/06/04 11:32:40.61 cZr1QjOu0.net
まだC++よりわかりやすい
機能追加していけば互換性維持のため複雑になるのは仕方ない
また1から設計されたいい感じの言語が出てきてそいつが広まりそうなら乗り換えれば良いやって思ってる
303:デフォルトの名無しさん
19/06/04 12:42:08.03 G0aIjPgkd.net
>>295
たとえば?
304:デフォルトの名無しさん
19/06/04 12:59:39.35 yXylbBOB0.net
#ifで定義済みプリプロセッサ シンボルの"NET40"をチェックしたいのですが
定義されていないようで思うような挙動になりません。
他にNET20~NET48も定義されていないようでした。
これらは特定のバージョン以降で使用できるのでしょうか。
また定義済みプリプロセッサ シンボルの一覧を見る方法はあるのでしょうか。
環境 VisualStudio2015
ターゲットフレームワーク .Net Framework4
記述例 #if NET40
305:デフォルトの名無しさん
19/06/04 13:45:05.95 g1r7g3uN0.net
>>293
ええな
306:デフォルトの名無しさん
19/06/04 14:55:33.26 RHX3fbho0.net
とあるゲーム
アプリを自動化したいと思ってる
307:デフォルトの名無しさん
19/06/04 14:59:29.30 q65K6viWM.net
>>301
すでに規約に反してそうw
犯罪の片棒は担げない
308:デフォルトの名無しさん
19/06/04 15:51:11.85 pUkZSDGpa.net
>>299
確かにダメだね何でだろう
試しにVS2010でもやってみたが同じだった
ググると普通に使ってるサンプルが出てくるのに変だな...
309:デフォルトの名無しさん
19/06/04 17:35:15.70 kLacA/8P0.net
URLリンク(ufcpp.net)
この話かな…
確かにVS2017で普通に作った.NET Frameworkのプロジェクトだと定義されてなくて
こっちのcsprojを手書きしたら定義されてる
.NET Coreとか.NET Standard向けのプロジェクトはデフォルトで新しいcsprojが作られてNETCORE2_1とかが有効になってる
310:デフォルトの名無しさん
19/06/04 18:08:11.74 DtXMrPXEp.net
>>298
タスク視点じゃ無いからコンテキストがわかりにくいんだよ。
同じクラス内に書いてるのに呼び出せなかったり書き込めなかったりさ。
デリゲートなんてもん導入しなくても解決出来るだろうにとかさ?
311:デフォルトの名無しさん
19/06/04 18:08:53.29 VzoYb92wd.net
>>305
具体的に
312:デフォルトの名無しさん
19/06/04 18:33:03.72 pUkZSDGpa.net
>>304
単純にそんな理由だったのかw
確かに古いドキュメントにはそんなものが定義されているって記述がないなあ
URLリンク(web.archive.org)URLリンク(msdn.microsoft.com)
313:デフォルトの名無しさん
19/06/04 18:46:41.77 RHX3fbho0.net
>>302
単純なレベル上げを自動化したい、
犯罪じゃないでしょ。
314:デフォルトの名無しさん
19/06/04 19:13:07.32 v8Exozc80.net
>>308
いいや、お前は犯罪者だ
さっさとキエロ
315:デフォルトの名無しさん
19/06/04 20:03:01.76 yXylbBOB0.net
>>303,304,307
なるほど。納得しました。
ありがとうございました。
316:デフォルトの名無しさん
19/06/04 21:39:13.84 XspZZE0fa.net
WPFってデザインがいいっていうイメージなんだけど
formよりもどういったところがデザイン性に優れてるの?
ブートストラップのxaml版みたいなテンプレートってないよね?
317:デフォルトの名無しさん
19/06/04 22:00:23.11 qyJua2Fm0.net
WPFはスケール出来るし
318:デフォルトの名無しさん
19/06/04 22:51:19.52 JzGIG0UPd.net
>>295
そんなことないよ
分かりやすくて単純でいろいろできて快適だよ
319:デフォルトの名無しさん
19/06/05 06:00:31.88 zagML6/E0.net
>>311
デザインの自由度は非常に高く、見た目をがらりと変えるのも比較的簡単に出来る。
ただし、出来合いのテーマとかはほとんど無い。標準のは古すぎるし。
標準でスケールするので、最低限の高DPI対応は何もする必要が無い。
320:デフォルトの名無しさん
19/06/05 06:44:41.46 vfWMaWlM0.net
ライブラリをstaticでusingしてるコードを見たのですが、静的にusingするってよく使われるやり方なのでしょうか?
あまり考えた事が無かったので
321:デフォルトの名無しさん
19/06/05 07:12:31.52 5J+xpv5ma.net
>>313
お世辞にも単純ではないわ
言語仕様の大きさでいうと現役のメジャーな言語の中じゃC++に次ぐくらいだよ
322:デフォルトの名無しさん
19/06/05 07:34:20.65 YfXCXcb80.net
static using を質問した者ですが、静的メソッドをクラス省略して呼び出す方法なのですね
自己解決か解りませんが、クラスをいちいち書くのが大変な時に便利な機能だと理解しました
323:デフォルトの名無しさん
19/06/05 08:12:16.71 8Q4nOq27d.net
>>316
ソース
324:デフォルトの名無しさん
19/06/05 09:09:32.49 DllhRP4m0.net
>>308
犯罪ではないが規約違反だな。
あと、初心者が作れるようなものでもない。
つまりはスレ違い。
325:デフォルトの名無しさん
19/06/05 09:13:04.00 cY5QBS5fa.net
c++に次ぐかはどうかは知らないけど言語仕様的には肥大し続けてるのは間違いないよ
確実にjavaよりは言語仕様が大きい
最近のメジャーな小さな言語仕様とは真逆の方向性
326:デフォルトの名無しさん
2019/06/0
327:5(水) 09:16:17.04 ID:cY5QBS5fa.net
328:デフォルトの名無しさん
19/06/05 09:19:05.78 56z2teCB0.net
MFCの場合、Command Routing なる概念があり、MDI で複数の子 Window を
出している場合に、Main Window のMenuから選んだメニュー項目を、
現在 Active な子 Window に対して「伝達」することができて、
CView::OnXxxx() のようなメソッドで受け取ることができました。
Xxxx の部分には、Menu項目の名前に関係した関数名が入ります。
MENU 項目には、IDM_XXXX のような定数値を関連付けておいて、
「メッセージマップ」なる場所に、
ON_COMMAND(IDM_XXXX, OnXxxx)
と書いておいて、ID 値とメソッド名を対応させます。
重要なのは、実行段階でその時にActiveになっているCViewにメッセージを伝達
することで、複数の子ウィンドウが有った場合、どの子ウィンドウがActive
になっているかによって、伝達されるCViewは変化します。
あと、このIDM_XXXとメソッドの関数定義、メッセージマップの項目は、全てIDEが
自動生成する機能があります。
C#でも同様のことはできますか?
329:デフォルトの名無しさん
19/06/05 09:27:44.31 cY5QBS5fa.net
何のことを言ってるかわからないけど
アクティブな子windowにメッセージは送れるよ
子ウィンドウによって処理を変えるのはそのように書けばいいだけで専用の仕組みはないと思う
330:デフォルトの名無しさん
19/06/05 09:29:46.05 DllhRP4m0.net
>>322
MFCはVCで使うライブラリ。C#は言語。比べる対象が間違っている。
つか、ぐちゃぐちゃ書かれていて何をしたいのかが良くわからない。
マルチフォームで、親のメニューから選んだ動作を、複数の子フォームがある中、アクティブなフォームに対してイベントを発生させることができるかって事ならWPF/UWPともに可能。
331:デフォルトの名無しさん
19/06/05 10:10:34.69 on5LrBrya.net
>>322
たぶんないのでは
でもそもそもActiveなMDI子に連動してイベントハンドラが切り替わるコードというのは
保守しづらいのでは?
MDI子のメニューは親のメニューにマージできたはずなので、
そっちを使った方がよいんじゃないかなあ
URLリンク(dobon.net)
332:デフォルトの名無しさん
19/06/05 10:32:52.53 lB0CTQ9/0.net
>>319
あんたはつくれんの?
333:デフォルトの名無しさん
19/06/05 10:43:39.28 aCuLxY/Qa.net
>>326
ここで粘着していてもお前さんの求めるものは得られないから、さっさと適切な場所に移動しな
334:デフォルトの名無しさん
19/06/05 10:48:56.78 lB0CTQ9/0.net
誘導するなら案内しろ
335:デフォルトの名無しさん
19/06/05 10:49:34.68 DllhRP4m0.net
>>326
Windowsでまともに動くiOSエミュがあるか?
それが答え。
336:デフォルトの名無しさん
19/06/05 12:40:57.59 lOa/gLJfr.net
最初>>301を書いた人物だとしたら脳が死んでそうだからその人には無理でしょ?
外人なのか馬鹿なのかどちらか
337:デフォルトの名無しさん
19/06/05 13:03:15.97 lOa/gLJfr.net
[RPA]PC自動化技術総合スレ[効率化] Part.4
338:デフォルトの名無しさん
19/06/05 13:04:06.56 lB0CTQ9/0.net
>>330
脳死なのにタイピングはできるんだね。お前
339:デフォルトの名無しさん
19/06/05 13:05:08.86 lOa/gLJfr.net
ここは願望を書くスレじゃないぞw
バカかw
340:デフォルトの名無しさん
19/06/05 13:09:17.91 TKKYwlvh0.net
その脳死より頭が悪いとか君はゴミか何か?
341:デフォルトの名無しさん
19/06/05 13:10:56.81 lOa/gLJfr.net
> とあるゲーム
>
> アプリを自動化したいと思ってる
味わい深いwwwwwwww
342:デフォルトの名無しさん
19/06/05 13:22:45.31 HUq/2QFD0.net
どうせアフィブログ転載用の質問でしょ
343:デフォルトの名無しさん
19/06/05 13:24:53.87 56z2teCB0.net
>>323
>アクティブな子windowにメッセージは送れるよ
>>324
>マルチフォームで、親のメニューから選んだ動作を、複数の子フォームがある中、
>アクティブなフォームに対してイベントを発生させることができるかって事なら
>WPF/UWPともに可能。
どうやるんでしょうか?
344:デフォルトの名無しさん
19/06/05 13:27:21.19 56z2teCB0.net
>>325
>MDI子のメニューは親のメニューにマージできたはずなので、
>そっちを使った方がよいんじゃないかなあ
なるほど。
ならば、編集メニューのコピー・ペーストなどの場合は、子ウィンドウ
それぞれが自前でメニューを持っていて、それを親にマージするんで
しょうか?
345:デフォルトの名無しさん
19/06/05 13:55:27.85 on5LrBrya.net
>>338
そうじゃないですか。
Formも派生させることができるしイベントハンドラもvirtualにできるので、
必ずしも馬鹿正直に全部のMDI子にTextが同じメニューアイテムを持たせる必要はないと思う。たぶん。
346:デフォルトの名無しさん
19/06/05 16:17:26.11 4nYErmG50.net
どうでもいいことだが、UWPは画面は常に一つってのが基本だから
アクティブなフォームにイベントで通知って概念が間違っている
347:デフォルトの名無しさん
19/06/05 16:32:23.33 DllhRP4m0.net
>>340
つ MasterDetail
348:デフォルトの名無しさん
19/06/05 18:27:29.26 cGG6I1H4M.net
メソッド化してコードを見やすくすることについて質問させてください
僕にC#を教えてくれている人に「現状のコードだと見づらいから同じ処理はメソッド化して見やすくしなさい」と言われたのですが、
同じ処理をメソッド化すると、その処理内で使われていた変数が後ろのほうのコードでも使われてまして、
結局メソッド化した処理の中で使われている変数をまた宣言しないといけないハメになってしまっているのですが、どうすればいいのでしょうか?
プログラミング初心者なのと、文章が下手で凄くわからづらいかもしれませんが、どうかよろしくお願いします
349:デフォルトの名無しさん
19/06/05 18:34:52.52 QfSKspk80.net
いやまずその教えてくれる人に聞けばいいじゃん
350:デフォルトの名無しさん
19/06/05 18:49:27.84 Y52bWe2XM.net
>>342
引数で渡すのが王道
そうすることで読み手にメソッドの呼び出し順が固定できる
351:デフォルトの名無しさん
19/06/05 19:40:07.54 0jYbMqQia.net
>>342
メソッドとして切り出した箇所の後ろの方で使っていたという部分について、同じ名前の変数を宣言し直して新たな値(メソッド化した範囲で使っていた内容とは無関係)を設定し直しているということだとしたら、それで問題ないよ。
もともと独立した内容に同じ変数を使用していたというだけだから。
352:デフォルトの名無しさん
19/06/05 20:16:57.88 cGG6I1H4M.net
>>344
引数について再度よく調べてみます
>>345
ということはメソッド化しても再度変数を宣言し直さないといけないということですか?
それだとメソッド化する意味がないような……
質問に答えていただきありがとうございます
353:デフォルトの名無しさん
19/06/05 21:20:18.71 UHR6+GQga.net
>>346
変数の宣言をし直すことは何らデメリットではないぞ。
変数を使用するスコープを小さくしてその都度宣言できるようなら、むしろそうした方が良いくらいだよ。
具体的なコードを見てみないと何を問題視しているのか分からんが...
354:デフォルトの名無しさん
19/06/05 21:52:08.97 U9r1UeN50.net
エスパーすると
メソッド化してもメソッド側と呼び出し元に同じ変数宣言するけど良いの?
って感じか
引数やら戻り値で済みそうな話ではあるが
ローカル関数なんてのも使えるけどね
355:デフォルトの名無しさん
19/06/05 22:12:43.65 wGVmv/E80.net
グローバル変数的なものをやりたいんじゃないの?
例えば int i を宣言したら色々なメソッドのループ処理でそれを使いたいとか
356:デフォルトの名無しさん
19/06/05 22:34:27.36 Ut2vcZyxd.net
え…
357:デフォルトの名無しさん
19/06/06 03:57:36.08 icdwfxAZ0.net
>>346
変数のスコープ、有効範囲について勉強すると良いよ。
358:デフォルトの名無しさん
19/06/06 07:30:22.90 hsoM7R9V0.net
100以上の広域変数の状態を自由に扱えるようになったらそのプロジェクトは君が囲い込める
359:デフォルトの名無しさん
19/06/06 08:38:25.78 FUDF17OO0.net
>>352
レビューの時点でダメ出しくらうだけ
360:デフォルトの名無しさん
19/06/06 09:18:31.73 pf3DvXcp0.net
>>339
なんとなく分かってきました。
みなさん有難うございました。
361:デフォルトの名無しさん
19/06/07 02:17:34.41 82+Qy1ow0.net
DIコンテナに登録したオブジェクトをインスタンス化する際、コンストラクタに引数を渡すことってできないのですか?
ライブラリはMicrosoft.Extensions.DependencyInjectionを使用しています
362:デフォルトの名無しさん
19/06/07 02:33:56.03 kuDYI/kq0.net
できるよ
363:デフォルトの名無しさん
19/06/07 14:30:40.52 ZpgeSWQ/0.net
FormLoad時に、DataGridViewに何もDataSoureを割り当てていませんが
からの1行が表示されてしまっています。
これは、何が原因でしょうか?
画像とボタンの列があります。初めて使うのですが、これが原因でしょうか???
364:デフォルトの名無しさん
19/06/07 14:43:54.47 ZpgeSWQ/0.net
自己解決しました。
365:デフォルトの名無しさん
19/06/07 18:39:19.47 zRuFxC25M.net
私にはすべてが見えていました
366:デフォルトの名無しさん
19/06/08 09:09:33.88 ctcrb20I0.net
var list = new List<int>
list.Max();
のようなnullデータにリンクメソッドをチェーンするとエラーになりますが、nullデータの場合は無視するという記述は出来るでしょうか
367:デフォルトの名無しさん
19/06/08 09:12:48.20 rnAwjmmK0.net
>>360
>>110-114
368:デフォルトの名無しさん
19/06/08 09:30:34.63 ctcrb20I0.net
>>361
同スレで既出と気付きませんでした
参考になります
ありがとうございます
369:デフォルトの名無しさん
19/06/08 09:44:30.27 2mGSrtdCa.net
>>360
nullデータというよりも空リスト、空シーケンスなどと表現したほうがいいかな
Max()メソッドそのものが空リストの場合はInvalidOperationExceptionをthrowするんだけど
Nullable版のMax()を使えば空リストの場合はthrowするのでなくnullを返すようになる
var list = new List<int>();
int? elem = list.Cast<int?>().Max();
if (elem == null) { Console.WriteLine("空"); }
else { Console.WriteLine(elem.Value); }
370:デフォルトの名無しさん
19/06/09 23:07:07.34 xU4n/JWt0.net
ガッツリ動作が仕様に絡むとこまでお手軽に記述したがる感覚ってわからんな
371:デフォルトの名無しさん
19/06/09 23:21:14.22 1L6M6LAR0.net
#me too
372:デフォルトの名無しさん
19/06/10 02:33:24.81 c/9rL5aT0.net
独立性拡張性が失われちゃう
373:デフォルトの名無しさん
19/06/10 10:46:09.39 tveaGfmTp.net
なんだっけ、MVCモデルだっけ?
あんなん崇拝するから日本人の作るアプリは操作性最悪なんだけどね。
374:デフォルトの名無しさん
19/06/10 11:09:25.95 QmsKOsl+0.net
レッテル貼り乙
375:デフォルトの名無しさん
19/06/10 11:24:14.99 qkVPdWMn0.net
やっぱMVVMだよね
376:デフォルトの名無しさん
19/06/10 11:42:49.78 PIG+DB1Sd.net
設計モデルとユーザー操作性に因果関係あんの?
377:デフォルトの名無しさん
19/06/10 12:16:49.56 PMN6sAhZa.net
昔はよくウィザードが例に出されたけど、
設計が伴わないと実現が難しいUIというのは確かにあると思うよ
378:デフォルトの名無しさん
19/06/10 12:30:25.19 VMXLuCX0d.net
>>367
日本人はむしろMVCすら使えないやつが多いんじゃね?知らんけど
379:デフォルトの名無しさん
19/06/10 12:46:04.73 OnQgNCpHp.net
>>367
こういう設計思想もろくにしらん馬鹿がITにかかわるから操作性が無視されたアプリができるんだと思う
380:デフォルトの名無しさん
19/06/10 16:25:53.91 0NZRWrrl0.net
>>373
禿銅
381:デフォルトの名無しさん
19/06/10 18:16:01.01 j15NsR7HM.net
共通部分を増やせば増やすほど
コピペが難しくなって工数が増大していく
画面数300とか行くとさ
画面をまたいだ共通箇所って邪魔で邪魔で
しかたねーよ
382:デフォルトの名無しさん
19/06/10 19:30:29.84 0NZRWrrl0.net
抽象化しろや
383:デフォルトの名無しさん
19/06/10 19:41:59.07 MrgpB0NP0.net
>>376
一番邪魔なやつだそれ
実際の処理がソースで追えなくて
実行してブレークポイントで止めてステップ実行しないと
本当の処理がわからない欠陥品
ぶっ飛ばしてやりてぇ
384:デフォルトの名無しさん
19/06/10 19:43:24.33 +AzPxr5na.net
追わなくてよくなるんだよ
追うなテストしろ
385:デフォルトの名無しさん
19/06/10 19:46:43.72 MrgpB0NP0.net
>>378
意味わからん
コピペするのにどの処理持ってくりゃいいんだよ
こっちの処理は分岐なんかしねーんだよ
386:デフォルトの名無しさん
19/06/10 19:47:25.12 aFtuMg1K0.net
DataGridViewの中にボタン列を追加しました。
ぐぐってますが、DataGridView上のボタンを非活性に
する事はできないのでしょか?
Visual Studio2017を使用しています。
387:デフォルトの名無しさん
19/06/10 19:48:38.10 bMUfCd/90.net
だから手でテストしてんだろw
この涼しいのに沸いてるのw?
388:デフォルトの名無しさん
19/06/10 19:50:13.10 bMUfCd/90.net
>>380
URLリンク(docs.microsoft.com)
389:デフォルトの名無しさん
19/06/10 19:52:29.65 MrgpB0NP0.net
>>381
テストまでいってねっつのアホなん?
390:デフォルトの名無しさん
19/06/10 19:55:32.78 MrgpB0NP0.net
抽象化されたソースから追えないゴミカスコードをどうやってコピペしたらいいですか?
インターフェース同じやつ片っ端から貼りまくればいいですか?
36っこありますね
→ウンコですね New!
391:デフォルトの名無しさん
19/06/10 19:59:23.27 +AzPxr5na.net
コピペできないって悩むってことはやっぱり抽象化が正解なのか
いかに下っ端コーダーにコピペをさせないかがプロジェクト成功の鍵だからな
392:デフォルトの名無しさん
19/06/10 20:07:55.28 MrgpB0NP0.net
>>385
バカじゃん
まるごとコピペして名前だけ変えて放置だっつの
こんなキタネェコード付き合ってらんねーよ
1クラス1ファイルで書いてあるけどこんなゴミにこんなファイル数いらねーよ
Xxx.csに全部ツッコんでやった
まとめてゴミ箱だw
アンチパターン「マトリョーシカ」「たけのこの皮」「玉ねぎの皮」「マズイミルフィーユ」とか名付けたい
くだんねー薄皮クラス全部いんねっつーの
393:デフォルトの名無しさん
19/06/10 20:09:50.35 +AzPxr5na.net
>>386
はいリジェクト
ばいばい
394:デフォルトの名無しさん
19/06/10 20:37:44.89 MrgpB0NP0.net
逃げたか
395:デフォルトの名無しさん
19/06/10 22:36:29.43 aFtuMg1K0.net
>>382
そこまでしないと実装できないんですね。
Enabled=False
でできればよかったのですが、うーんどうしよう。
396:デフォルトの名無しさん
19/06/10 23:01:39.91 mjEnv2YNd.net
>>389
サンプルの
DataGridViewDisableButtonCell
をコピペで持ってきたらいいだけじゃん
397:デフォルトの名無しさん
19/06/10 23:28:43.62 MrgpB0NP0.net
でも正直なんでこんな面倒臭いの?ってぐらい作ったやつのセンスが悪いよね
398:デフォルトの名無しさん
19/06/10 23:40:05.50 ZWxvLRT60.net
C#は Visual Studio のサポート機能が無いと、コード書ける気しないわな。
399:デフォルトの名無しさん
19/06/10 23:57:56.14 aFtuMg1K0.net
>>390
それすら面倒だけどやってみます。
MSが普通にEnable実装しておけば、俺たちは True Falseの設定だけでできたのに。
400:デフォルトの名無しさん
19/06/10 23:58:17.24 s/X+Cj/I0.net
>>392
最近よくVisual Studio Codeで書いてるよ
401:デフォルトの名無しさん
19/06/11 00:20:18.
402:49 ID:eYjHCkmz0.net
403:デフォルトの名無しさん
19/06/11 00:27:16.57 KO5Z5H7da.net
WinFormsのコントロール全般だけど、MSとしては>>390程度のことは
自前で継承して作り込んで使ってくれっていうスタンスだからなあ
(MSDNのドキュメントもそれ前提の書かれ方だし)
作りこむのが面倒であればGrapeCityとかが売ってる高機能なコンポーネントを使えばいいわけだし
404:デフォルトの名無しさん
19/06/11 00:29:30.86 VMcLTapW0.net
>>395
ちょっとでも使われ方の検討したのかよ
ってレベルじゃね?これ
405:デフォルトの名無しさん
19/06/11 01:03:45.60 8NPGWhvc0.net
>>395
そういう問題じゃなくて、ボタンにEnable False True入れるなんて常識だろ。
それ位実装しとけよ。くそMSって話。
406:デフォルトの名無しさん
19/06/11 01:12:02.27 fTJbh9kM0.net
>>398
こいつWebアプリ開発させられたら発狂しそう
407:デフォルトの名無しさん
19/06/11 01:38:08.73 ogrGMDt8a.net
今日のNGはこれか
VMcLTapW0
真っ赤にして待ってろ
408:デフォルトの名無しさん
19/06/11 01:45:34.19 VMcLTapW0.net
なんか普通のことが普通にできなくなって開発者からそっぽ向かれてない?
wpfなんかこんなののオンパレードだし俺ら工場のおっさん向けアプリ作ってるだけなんに
必要のない変な機能多すぎ
その割にこんな簡単な機能は未実装って
未完成ってレベルじゃないよね
409:デフォルトの名無しさん
19/06/11 01:48:32.42 p0Xp2yNy0.net
>>401
そんなに同意して欲しいなら同意してやるからもう寝なよ
410:デフォルトの名無しさん
19/06/11 01:51:14.95 VMcLTapW0.net
>>402
むしろお前こそ言いたいことがあるならハッキリ言うべき
無言でユーザだけ減ってる状態に苦労してると思うぞmsは
411:デフォルトの名無しさん
19/06/11 02:17:35.18 FGV57sZTd.net
>>403
言いたいことはお前が無能ってことだよ
412:デフォルトの名無しさん
19/06/11 02:19:21.88 AmszXiFy0.net
お前みたいな馬鹿が尻の穴嘗めてくれるからウハウハだぞバカ
413:デフォルトの名無しさん
19/06/11 02:28:30.43 VMcLTapW0.net
多分、日本はwindowsで作った資産があるけど
そうでない国はお金がないからわざわざWindowsを使わない
そんな状態が続いたもんだからlinuxの資産が貯まってしまって
お金を持っても今度はWindowsには移行できない
そんな事情のある最近のlinuxに寄り添ってる理由だろ
昔はその作りやすさから王者だったけど
最近そーでもねーのが致命的になってんじゃねーのか?と
414:デフォルトの名無しさん
19/06/11 02:33:30.92 mh1wU8omM.net
クソ長文書いてねえで寝ろクズ
415:デフォルトの名無しさん
19/06/11 03:14:41.06 aZcuYhl50.net
HTML のボタンには、disabled 属性もある
416:デフォルトの名無しさん
19/06/11 07:09:30.30 nARElikq0.net
もうwebオンリーで行くかなと思ったけどバーコード使いたいと言われるとFormeアプリ使わんとダメだよね
XAMLは流行る予感がしないから触る事ないな
417:デフォルトの名無しさん
19/06/11 08:52:13.44 eYjHCkmz0.net
Webでバーコード扱えるけど
418:デフォルトの名無しさん
19/06/11 10:34:45.11 q+xysia0d.net
Shape Detection APIな。
PCのChromeでも動けば動作検証楽なのになぁ、あれ。
419:デフォルトの名無しさん
19/06/11 14:05:54.20 6dm7scj8M.net
リーダーをUSBに差せばWebでも使えるやで
420:デフォルトの名無しさん
19/06/11 14:08:24.54 8NPGWhvc0.net
ふぅーDataGridViewのボタンの非活性できた。
MSはその程度実装しておけよ
421:デフォルトの名無しさん
19/06/11 14:27:25.63 irqLdUAC0.net
CheckBox も同様だけど、Visible と Enable くらいは実装しとけよ、って思うよなぁ
WinForms に対しては全くやる気ないみたいだけど
422:デフォルトの名無しさん
19/06/11 14:41:17.27 8NPGWhvc0.net
>>414
実装もそこまで時間かかるとは思えないんだよな
なんか詰めが甘いというか・・・
しかもVS2017になっても未実装って
423:デフォルトの名無しさん
19/06/11 15:25:57.49 irqLdUAC0.net
x64 のときは Form_Load の中での例外はスルーするバグも絶賛放置
(x86 だったら、ちゃんと例外を捕捉する)
424:デフォルトの名無しさん
19/06/11 15:57:17.26 dpi3ASg30.net
Windows Formなんてとっくに見捨てられてるからね。メンテナンスフェーズかも知れん。WPFですら10年前だし。ということでUPF使え。
…ってMSは思ってるかもだが、Formなにかと楽なんだよなあ
425:デフォルトの名無しさん
19/06/11 16:23:20.80 8NPGWhvc0.net
俺がゲイツなら首にするわ
426:デフォルトの名無しさん
19/06/11 18:42:14.00 a3rgTFI7d.net
.NET Core3.0リリース後にちゃちゃっとPR書けば?そんなに簡単なら
427:デフォルトの名無しさん
19/06/11 20:32:19.05 3Y+SR7BCM.net
悪いけど、FullFx版のWinFormsとの互換性を損なうようなコミットは全部リジェクトだと思うよ
forkして弄るのは勝手だけど
428:デフォルトの名無しさん
19/06/11 20:58:05.88 fTJbh9kM0.net
>>420
.NET Core3.0後にどうなるかはまだ不透明
現状はそうだけどね
429:デフォルトの名無しさん
19/06/11 21:10:59.72 HH9jnqHSa.net
どのみちMS自身が今後WinFormsに機能追加をすることはありえないんだから、縛りのきつい公式リポジトリに拘る意味がないでしょ
WinFormsをクロスプラットフォーム化するコミュニティプロジェクトは必ず立ち上がるから、それに参加したらいい
430:デフォルトの名無しさん
19/06/11 21:15:40.32 GAHoXfWar.net
>>422
WinFormsのクソな部分がそのまま移植されるとは思わないから別物になると思う
汎用的な部分だけ移植なら整合性が合わなくなるからそもそも新しいの作るだろ
431:デフォルトの名無しさん
19/06/11 21:40:49.66 HH9jnqHSa.net
>>423
残念ながらベタ移植だよ
ほとんどのソースはオリジナルからコピーしてきてヘッダコメントを変えただけ
WinFormsをCoreでビルドできるように手直ししただけの代物だ
WPFなんかC++/CLIにべったり依存してるからもっと酷くて、
WPFをビルドするためだけにVCのコンパイラに限定的なCoreサポートを追加して無理矢理ビルドしてる
そんな不毛なことするくらいならネイティブ部分を書き直せと批判されてしばしばissueが炎上してるが、MSはガン無視
432:デフォルトの名無しさん
19/06/12 09:44:54.85 jI3pneRO0.net
DataGridView_hoge.AllowUserToResizeColumns = false;
列幅変更出来ない様にしたつもりですが、普通にドラッグしてサイズ変更出来てしまいます。
何が原因でしょうか???
433:デフォルトの名無しさん
19/06/12 10:24:07.46 0xThtXZC0.net
行ヘッダ列はAllowUserToResizeColumnsじゃなくてRowHeadersWidthSizeModeで設定しないといけないけど
それ以外の列ってことなら何か変なことやってるんじゃないのとしか言えないなぁ
434:デフォルトの名無しさん
19/06/12 10:29:24.57 jI3pneRO0.net
>>426
RowHeadersWidthSizeMode
ためしてみます。
435:デフォルトの名無しさん
19/06/12 21:10:32.82 MR/XkF+FM.net
なんかWindowsアップデートで動かなくなったりするから
Windowsやめようぜって方向になってるぞ
436:デフォルトの名無しさん
19/06/12 21:27:03.90 1sqooHn/0.net
どうぞ
437:デフォルトの名無しさん
19/06/12 23:03:21.43 AKIxT99i0.net
どうぞどうぞ
438:デフォルトの名無しさん
19/06/12 23:30:47.47 uj0EyW6pd.net
バイバーイ(^.^)/~~~
439:デフォルトの名無しさん
19/06/13 12:45:58.94 jjdzM/JQd.net
WPFの将来性ってどうですか?
今から勉強する価値ありますかね
440:デフォルトの名無しさん
19/06/13 15:02:14.86 5cAqIW1CM.net
>>432
将来性はない
勉強する価値もない
441:デフォルトの名無しさん
19/06/13 17:22:47.41 7q1+HOWFa.net
たぶん現状のまま放置されるって意味では将来性ないけど
Silverlightみたいに事実上使えなくなることは恐らくないから
勉強して無駄になることもないと思うよ
そいうや、何年か前にWin32を廃止する計画を読んだ記憶があるけど
例によって軌道に乗ってるように思えんねw
442:デフォルトの名無しさん
19/06/13 18:14:02.25 EM2pYCLsp.net
>>434
win32廃止したら、Windowsじゃ無くなるじゃん
443:デフォルトの名無しさん
19/06/13 22:23:06.18 tGgsvZyOd.net
>>435
win64 APIのみにするってことでしょ
444:デフォルトの名無しさん
19/06/13 22:27:30.58 dTdyRg7kM.net
ARM使い「そうか」
445:デフォルトの名無しさん
19/06/14 09:46:05.42 v6Wc7xsI0.net
>>436
Windowsから互換性取ったらMacとの優位性が崩れてしまうわ。
446:デフォルトの名無しさん
19/06/14 10:19:55.42 Qm4arTEGM.net
う互換性
447:デフォルトの名無しさん
19/06/14 13:28:36.75 Js4PARtC0.net
GDIとかいつまで残ってんだろ
448:デフォルトの名無しさん
19/06/14 13:36:31.53 Io9qelQj0.net
APIとしてはWindowsがある限り残るだろ
内部的に別の仕組みの描画フレームワークに渡すだけになる将来はあるかもしれんが
449:デフォルトの名無しさん
19/06/14 19:05:00.84 B1OfNWTta.net
独自OSはやめてLinux M$ディストリになったら最高なんだけどね
450:デフォルトの名無しさん
19/06/15 00:33:09.29 8CcGi59t0.net
while(i<=1000000)
{
i++;
}
こういうお手製のループって結局invokeと同じ機能なんですかね?
待つという意味では
451:デフォルトの名無しさん
19/06/15 02:59:58.42 h/MXyyEj0.net
質問です。
JSONシリアライズなんですけど
{ "foo": "bar" }
としたいのに、DataContractJsonSerializerに
Dictionaryをシリアライズさせると
{ "key": "foo", "value":"bar" }
となってしまいます。
何かいい方法ないですか?
どういうキーワードでググればいいかも分からなくて。
452:デフォルトの名無しさん
19/06/15 06:29:12.34 izWNJzhX0.net
>>443
何のinvokeの話なのか知らないけど
ほとんどのInvokeメソッドとは全く違うんじゃないかな
>444
DataContractJsonSerializerSettings.UseSimpleDictionaryFormat
453:デフォルトの名無しさん
19/06/15 07:12:02.05 +UtdpkHU0.net
ConcurrentDictionary<Guid, ConcurrentDictionary<int, string>>
のようなデータ構造で、Value部の付け外しにlock機構って必要ですか??
var cd = new ConcurrentDictionary<Guid, ConcurrentDictionary<int, string>>();
lock(_lockObj)
{
if(!cd.TryGetValue ・・・)
{
var child = ConcurrentDictionary<int, string>();
cd.TryAdd(Guid.NewGuid(), child);
}
}
2つのスレッドがほぼ同時にアクセスしたとき、
最初に追加したValue部(ConcurrentDictionary<int, string>)を潰したくないです。
lock使うなら、普通にDictionaryでいいんですかね・・ 👀
Rock54: Caution(BBR-MD5:1341adc37120578f18dba9451e6c8c3b)
454:デフォルトの名無しさん
19/06/15 07:35:12.58 IMLKv0k+0.net
getとaddが不可分操作じゃないから要る
455:デフォルトの名無しさん
19/06/15 09:17:07.61 6PSH/Imja.net
>>446
TryAddがfalseを返したら処理を最初からやり直せばいい
それならロックは不要
楽観的排他制御ってやつだ
456:デフォルトの名無しさん
19/06/15 14:37:59.48 qro2r2SGM.net
HttpClientもWebClientもHttpWebRequestもまともじゃないのは一体なんなんだ
457:デフォルトの名無しさん
19/06/15 14:47:05.46 hWID9DJjM.net
>>449
具体的には?
458:デフォルトの名無しさん
19/06/15 14:49:08.14 2Fwz82J/0.net
>>449
HttpClientはstaticなインスタンスでセッション使い回し。
このくらいの注意点は知ってるけどどう駄目なのか参考に教えてよ
459:デフォルトの名無しさん
19/06/15 15:37:24.10 CD9ImjzWM.net
>>449
KWSK
460:デフォルトの名無しさん
19/06/15 15:42:35.91 h/MXyyEj0.net
>>445
ありがとうございます!
461:デフォルトの名無しさん
19/06/15 18:51:55.25 Tm2el/yWa.net
>>449
これを使っている限りバグが出る可能性が排除できない
まともな設計で作り直してほしい
462:デフォルトの名無しさん
19/06/15 19:28:03.88 hWID9DJjM.net
>>454
具体的には?
463:デフォルトの名無しさん
19/06/15 19:39:46.98 2Fwz82J/0.net
具体的なことは言えないレベルでなんとなく否定してるに1票
464:デフォルトの名無しさん
19/06/15 20:17:44.79 p9QrGiGS0.net
まあHttpClientFactory使えってなるよね、最近は
465:デフォルトの名無しさん
19/06/15 20:49:10.87 Tm2el/yWa.net
HttpWebRequestやWebClientは確実にゴミ
例えば非同期でいろんなサイトからダウンロードするアプリを作ろうとしても
実インスタンスが一つなので各サイトに合わせて設定できない
HttpClientはまともにusingできない使いまわし前提で管理が面倒でバグりやすい
466:デフォルトの名無しさん
19/06/15 21:25:13.03 p9QrGiGS0.net
>>458
>>457
467:デフォルトの名無しさん
19/06/15 21:28:36.81 403fYel+0.net
いや知ってりゃ使えるだろってのはわかるんだが
なんでどれもこれも罠が満載なの? っていう話ね
468:デフォルトの名無しさん
19/06/15 23:31:09.76 2Fwz82J/0.net
>>457
なにこれ?ナウなやつ??
469:デフォルトの名無しさん
19/06/15 23:31:12.45 TLpy9Lqp0.net
MacのCore2.1でデリゲートのシリアライズを試してるんだけどさあ、これって動くプラットフォームもあるってことなの?
class Program
{
static void Main(string[] args)
{
Func<int, int> A = i => i + 1;
BinaryFormatter formatter = new BinaryFormatter();
var tempStream = new MemoryStream();
formatter.Serialize(tempStream, A);
//System.Runtime.Serialization.SerializationException がスローされました
//"Serializing delegates is not supported on this platform."
}
}
レファレンスだとMacで動かないとか特に書いてはいなさそうだけど、どこを見たらそういう情報ってわかるんだぜ?
URLリンク(docs.microsoft.com)
470:デフォルトの名無しさん
19/06/15 23:37:24.81 eE+hzs3Oa.net
>>462
ないでしょ
だってそれ、変数を一切キャプチャしないラムダ式以外では問題が起こるんじゃない?
471:デフォルトの名無しさん
19/06/15 23:54:10.26 ioIpgNFD0.net
デリゲートをシリアライズするっていう発想がそもそもなかったわ
472:デフォルトの名無しさん
19/06/16 00:04:36.79 IRiSsL3Z0.net
ダメか、ありがとう
473:デフォルトの名無しさん
19/06/16 00:06:06.77 j15M4OK0a.net
デリゲートのシリアライズはFullFWなら可能
.NET Remotingで通信先からRPCするために使う機能だ
.NET Coreでは.NET Remotingが廃止されたから、.NET Coreで使えないのは当然
そもそもBinaryFormatterはそれ自体が廃止された.NET Remotingの一部であり、互換性のためだけに残されてる遺物
今更新規に使っちゃダメ
474:デフォルトの名無しさん
19/06/16 00:12:52.39 G7NVDdhd0.net
>>461
うん、HttpClientのイケてないとこをラップして使いやすく(間違いを犯しにくいように)したやつ
475:デフォルトの名無しさん
19/06/16 00:22:01.61 IRiSsL3Z0.net
>>466
正直、これが出来るとリモートプロシージャコールの受け側がif/switch羅列になるのを避けられると思っていました
しかし、これはもろに時代に逆行していたんですね・・・・
廃れたと言うことは今流のやり方もあるんですか?
476:デフォルトの名無しさん
19/06/16 00:27:11.51 j15M4OK0a.net
.NET CoreでRPCしたいならRESTかgRPC使えとMS様は仰ってるね
477:デフォルトの名無しさん
19/06/16 01:01:25.28 IRiSsL3Z0.net
gRPCを使用する場合でも、サーバからグローバルIPを持たないクライアントのメソッドを呼びたい場合にデリゲートシリアライズ化は有用なように思えてしまいます
接続を切らずにStreamで独自形式の命令を送り続けることになり、クライアント側では送られてきた命令を解析するためのswitch/if文だらけのコードになってしまうからです
でもif文羅列で正しいのかな・・・・どうなんだろう・・・・
478:デフォルトの名無しさん
19/06/16 01:18:24.92 WGBivVxV0.net
プログラミング未経験からC#を勉強して1週間程の者です
疑問に思うことがふたつあるのでよかったら教えてください
ひとつめは配列の宣言について、宣言は省略せずにきちんとしたほうがいいのでしょうか?
また宣言する場合に
string[] array = new string[3];
と変数名を最初にstringで指定しているはずなのに、配列の数をstringで再び書くのはなぜでしょうか?
ふたつめは、
Console.Write("a は {0}, b は {1}", a, b);
と書くのは
Console.Write("a は " + a + ", bは " + b);
と書くより見やすいためでしょうか?
479:デフォルトの名無しさん
19/06/16 01:25:53.37 G7NVDdhd0.net
>>471
ひとつめ:varが使える場所ならvarを使った方がいい
ふたつめ:前者だと、文字列をconstやリソースファイルで保持してパラメーターだけ入れ替えられる(=使いまわしできる)。
ただ、最近はよほどパフォーマンスにシビアだったりリソースを再利用したい箇所でなければstring interpolationを使うことの方が多い(圧倒的に見やすいしバグも発生しにくいから)。
480:デフォルトの名無しさん
19/06/16 01:27:37.22 G7NVDdhd0.net
Console.Write($"a は {a}, b は {b}");
こうすると読みやすいしパラメーターの位置を間違える可能性が減る
481:デフォルトの名無しさん
19/06/16 01:52:02.63 z9IiVZ7F0.net
C# は、面倒だな
Ruby の式展開(interpolation)では、
ダブルクォート文字列内に、#{式} で書くと、式の結果を文字列に変換してくれる
puts "a は #{ a }, b は #{ b }"
482:デフォルトの名無しさん
19/06/16 02:00:09.86 yJ9OuDHU0.net
>>474
C#にもあるだろ。直ぐ上でも出てる。
$"a は {a}, b は {b}"
483:デフォルトの名無しさん
19/06/16 02:05:52.16 G7NVDdhd0.net
1つ上のレスくらい読んでくれよ…
484:デフォルトの名無しさん
19/06/16 02:12:46.91 WGBivVxV0.net
string interpolationは参考にしておいたサイトでは見たことがなく初めて知りました
確かに圧倒的に見やすいですね
varを使うことで必然的に型を指定して初期化することになるので、その辺りの宣言はしっかりしようと思います
ありがとうございました
485:デフォルトの名無しさん
19/06/16 02:40:38.10 G+0AwVAf0.net
Rubyの人 おかえりはこちらです
486:デフォルトの名無しさん
19/06/16 02:49:49.58 U3MUj56p0.net
>>467
いいね!使ってみる。
487:デフォルトの名無しさん
19/06/16 05:00:17.20 wxDeKJDL0.net
interpolation 略して inpo
488:デフォルトの名無しさん
19/06/16 08:33:51.55 59NNwAx00.net
>>470
WebSocketとかSignalRとか使ったらサーバーからの通知対してにライブラリが適切なメソッドを呼んでくれるのでは
489:デフォルトの名無しさん
19/06/16 08:38:40.27 xspDtD2o0.net
>>458
httpClientをusingする方が間違いでは?
接続先ごとに作るもんだと思ってた。ヘッダとか共通にしたい粒度と同じ粒度で。
490:デフォルトの名無しさん
19/06/16 09:55:00.36 X9An2SCta.net
>>482
だから…
usingするのは間違いだがじゃあどうやって使いまわすかでバグりやすい
使いまわすのをどこかに任せて使う側は自由に使えるようにしてないと
本当に使いにくい
491:デフォルトの名無しさん
19/06/16 12:12:22.08 NdAq/MEw0.net
>>480
+1
492:デフォルトの名無しさん
19/06/16 12:20:15.94 xspDtD2o0.net
>>483
そう?APIアクセスにはこのHttpClient、リソースにはこのHttpClientって別けてると結構便利だけど。
デフォルトヘッダーつけたり、デフォルトのタイムアウトとかをそれ用に設定したりして。
URIなんかで適当に使い回されるのはちょっと使いづらくなるな。
493:デフォルトの名無しさん
19/06/16 12:29:55.12 +FeN72guM.net
staticなインスタンスを持つという行為がオブジェクト指向にそぐわないのだろう
494:デフォルトの名無しさん
19/06/16 12:35:21.44 WIm6t9KAd.net
じゃあDIによるシングルトンで
495:デフォルトの名無しさん
19/06/16 16:29:01.69 xspDtD2o0.net
>>486
それも変な話だけどなー。
staticなインスタンスなわけではなくて、環境に対してインスタンスがあるんじゃないのかな。
使い回すって、もしかして何もかものHttpClientを1つのインスタンスや、いくつか作って適当に余ってるインスタンスで賄ってるの?
少なくとも1ホスト1HttpClientで扱わないとよろしくなかったはず。
そういう意味では、完全にstaticな訳ではなくて、多分MVCならコントローラごとに、宛先ホストやデフォルトヘッダー別のHttpClientを持てば充分なので、特に長寿命になる訳でも、広範囲に露出する訳でも無いんじゃないかな。
毎回作るようなusingで囲む事をするのはよろしくないだけであって、適宜作ってDisposeする分には問題ないっしょ。
だからデストラクタでDisposeできるようにIDisposableなんじゃ?
496:デフォルトの名無しさん
19/06/16 17:56:30.01 yX0oMZwqa.net
Disposeは要らんかった
惑わされる
497:デフォルトの名無しさん
19/06/16 17:59:45.19 IRiSsL3Z0.net
デリゲートのシリアライズについて色々試したところ、WindowsやUbuntuのCore.2.2ではデリゲートのシリアライズは可能でした
まさかMac版だけ違うとは・・・・
>>481
WebSocketについては全くわからないのですみませんが、Signalrは良さそうですね
498:デフォルトの名無しさん
19/06/16 18:56:40.91 ikomc5kEr.net
>>488
絶対に一つのホストに対して非同期で複数接続しない?
変だろそれは?
普通に非同期処理やマルチスレッドなどを多用したところで複数接続することがあるだろ
ちゃんと管理しないとおかしなことになる
499:デフォルトの名無しさん
19/06/16 19:03:24.48 xspDtD2o0.net
>>491
xxxxAsyncはだいたいスレッドセーフだよ。
500:デフォルトの名無しさん
19/06/16 19:13:58.14 6Ugz9fj30.net
httpClientの設計がまずいのは周知の事実だろ
オプションとしてならいいけどさ
まともな通信用のクラスをなぜ作れんのだ
501:デフォルトの名無しさん
19/06/16 19:20:45.53 xspDtD2o0.net
んー、なんか俺の返事がズレてる気がする。
1つのホストの1つ用途に対して使い回すのは良いんだけど、
別のホストや別の用途に対して使い回すのは良くないんじゃないかな、って話で、
1つのホストの1つの用途に対して複数のHttpClientを使うのも、悪かないんじゃないの?限度があるけど。
そもそもHttpClientを毎回作ってはいけない理由が、インスタンスを立てるとソケットをopenしに行って、CloseしてもTIME_WAIT以降を待ってソケットがcloseするから、パフォーマンス的にもまずいしソケットが枯渇するって問題なんだし、
捨てないとDNSの変更が反映されない問題も避けれないんだから、LBとか考えると同一ホスト対象でもずっと使い回すより、処理粒度に合わせてインスタンス持つようにした方がいいんでないの、って要旨だった。
502:デフォルトの名無しさん
19/06/16 19:22:37.45 xspDtD2o0.net
>>493
結構まともな設計だと思うけどなぁ。
MSDN読んでない奴が安易にusingしたり、安易にずっと使い回すからいかんのでは?
そんなどうhttp接続を使うかみたいなビジネスロジック層の問題をフレームワークに求めるのは酷じゃ無いかな。
あくまでWindowsのソケットの実装としてはね。
503:デフォルトの名無しさん
19/06/16 19:24:29.05 ikomc5kEr.net
その管理を誰がやるのか?
低級プログラマがそれを考えて使えるのか?
使えないなら管理をどこかでちゃんとやる仕組みを作れ
504:デフォルトの名無しさん
19/06/16 19:27:19.28 ikomc5kEr.net
そもそもの仕組みは簡素なつもりなんだろうけど
結局考えてコーディングしなければバグってしまってアプリを使ってる人にはその理由がわからない
505:デフォルトの名無しさん
19/06/16 19:36:40.16 G7NVDdhd0.net
>>496
だからHttpClientFactoryなんだろ何回も言わせんな…
506:デフォルトの名無しさん
19/06/16 19:51:24.02 ikomc5kEr.net
.NET Frameworkは?
507:デフォルトの名無しさん
19/06/16 19:58:59.39 xspDtD2o0.net
>>496
そんな字が書けなくても小説が書けるノートを寄越せみたいな事言って何になるの?
508:デフォルトの名無しさん
19/06/16 20:01:51.47 ikomc5kEr.net
.net core 3.0でWPFサポートはいるけど
それまではWPFなどで作る場合.NET Frameworkだろ
ずっと放置しといて.net coreで入ったからいいなんて思うなよ
509:デフォルトの名無しさん
19/06/16 20:02:01.46 xspDtD2o0.net
>>497
簡単な事だと思うんだけど、考えてコーディングすれば良いだけでは?
考えずにコーディングする方がどうかしてるんじゃないの?
くもんのドリルとか、早指しの将棋じゃねえんだから。
510:デフォルトの名無しさん
19/06/16 20:24:08.68 +fU13JTma.net
>>490
へー
もちろん、ラムダ式で変数キャプチャーやメソッドやプロパティーにアクセスしたり、
そもそもデリゲートがメソッドを参照してる場合はNGだよね?
511:デフォルトの名無しさん
19/06/16 21:07:08.31 6Ugz9fj30.net
まず通信のためのインスタンスを保持しておく必要があるって点が意味不明
なんで一通信毎に一インスタンスを使い捨てさせてくれないんだ?
512:デフォルトの名無しさん
19/06/16 21:11:11.53 2a6zi2hA0.net
ないなら作ればとしか思わんけど
513:デフォルトの名無しさん
19/06/16 21:15:37.29 0NEzhhkla.net
Keep Aliveの為に必要なんですよ
514:デフォルトの名無しさん
19/06/16 21:27:28.53 2mY5Onwd0.net
HttpClientに関連して、NetworkCredentialのダイジェスト認証バグもどうにかしろよって感じです。
GETにクエリパラメータ付いてると認証失敗したり、ところどころRFCに従ってなかったりとか。
散々ググって、どうやら解決方法が自前実装しかないと辿り着くまでに時間かかった。。
今どきダイジェスト認証って感じで放置されてるのかもですが、
Webサーバ積んでるIoT機器なんかでは結構使われてるので、ちょっとしたツール作るのもダルくなります
515:デフォルトの名無しさん
19/06/16 21:35:16.94 WJsnIQ8z0.net
半端なライブラリはこれだから
Javaみたいに産廃レベルだと「じゃあ俺が最強のHttpClientを作ってやる」ってのが出てくるのにね
516:デフォルトの名無しさん
19/06/16 21:41:01.31 +fU13JTma.net
web系は仕事で触ったことないからまったく分かんないやw
どっかにいいチュートリアルとかある?
でも話聞いてるとweb系って今でもバッドノウハウの塊みたいでストレス度高そうだなw
517:デフォルトの名無しさん
19/06/16 22:05:12.05 6Ugz9fj30.net
>>507
そんなんあるんかよ…
つまりヘッダを自分で組み立てるしかないってこと?
518:デフォルトの名無しさん
19/06/16 22:20:27.61 gEahNK3la.net
結局MSはWPFをどうしていくんだろうか
519:デフォルトの名無しさん
19/06/16 22:25:47.52 wD0NHooaM.net
C
520:#プログラミング初心者です Form実行時の各イベントの発生順序について質問させてください Form実行時にどういう順番でどういうプログラムが処理されていくのかよくわかりません Formを実行したときFormのコンストラクタが設定されイニシャライズ内の各コントロールが配置されるという認識で合ってますか? あと実行時に一番最初に処理されるのはProgram.csですか? コンストラクタとイニシャライズの意味がよくわかっていないかもしれません よろしくお願いします
521:デフォルトの名無しさん
19/06/16 22:33:03.04 gLoRAJ8t0.net
>>512
もう十年やってる俺の認識と一致してんじゃん
後は強く生㌔
522:デフォルトの名無しさん
19/06/16 22:47:40.58 Qo3kD6WQ0.net
>>512
コンストラクタはFormもそうだけどクラスのインスタンス生成時に最初に呼び出される
InitializeComponent()は単なるVisualStudioが用意しているデザイナのためのメソッド
コンストラクタ内などで自分で用意してもいい
一番最初に処理されるのはProgram.csでなくその中に書いてあるclass ProgramのMain(エントリポイント)
とりあえずこの辺から読んでみたら。特に理解しなくてもコードは書けるけども
[雑記] エントリーポイント URLリンク(ufcpp.net)
[基礎] C#のプログラムの基本構造 URLリンク(ufcpp.net)
523:デフォルトの名無しさん
19/06/16 22:58:44.87 wD0NHooaM.net
>>514
親切にURLまで貼っていただきありがとうございます
とてもわかりやすかったです
助かりました
524:デフォルトの名無しさん
19/06/17 11:09:57.31 aKGiWlYO0.net
なんかメモリーがどんどん減ってくんですが。
525:デフォルトの名無しさん
19/06/17 11:41:26.98 KqnEIU5BM.net
それは痴呆だよ
526:デフォルトの名無しさん
19/06/17 11:45:08.07 d6mw/rQbp.net
観測した途端にメモリーが足りなくなる不思議
527:デフォルトの名無しさん
19/06/17 12:01:39.02 KqnEIU5BM.net
記憶がだんだん遠くなる
528:デフォルトの名無しさん
19/06/17 13:56:49.50 JXiMVUT0M.net
観測しなければいいじゃん
529:デフォルトの名無しさん
19/06/17 14:00:02.92 i1zZ44t70.net
足りないのに無くならない不思議
530:デフォルトの名無しさん
19/06/17 14:07:34.68 fWv+7syLd.net
WPFデビューしようと思って色々調べてるんだけど情報少なすぎない?
Prismが便利らしいけど公式サンプルがちょこっとあるだけだし全然使えなさそう
531:デフォルトの名無しさん
19/06/17 14:20:39.66 a0UOupWUd.net
それはWPFじゃなくてPrismの問題だろw
532:デフォルトの名無しさん
19/06/17 17:13:19.75 d6mw/rQbp.net
WPFはFormと同じ名前のまんまのメソッドやプロパティ使えたら不人気にならなかったはず。
微妙に違ったりするから混乱するんだよな。
533:デフォルトの名無しさん
19/06/17 23:14:24.82 js38FdP50.net
class test
{
byte i = new byte();
public void calc() {
...
}
...
}
こんな感じのnewの使い方をみたのですが、こういうのc#だけですよね?
どこかに解説はありませんか?
534:デフォルトの名無しさん
19/06/17 23:24:08.75 qS39OOn20.net
>>525
書き方として有効でも普通はそんなことやらない
URLリンク(docs.microsoft.com)
>new 演算子は値型のパラメーターなしのコンストラクターの呼び出しにも使用します
535:デフォルトの名無しさん
19/06/17 23:54:16.01 dLLbEhJJM.net
構造体の引数無しのnewはdefaultと同じ
newだとユーザー定義の初期化処理が走っているように見えてしまうから、最近だとdefaultのほうが好まれる傾向がある
フィールドの場合は明示的に初期化しなくても勝手に既定値で初期化されるから不要なんだけど
536:デフォルトの名無しさん
19/06/18 05:55:07.37 LmNIdt8j0.net
C# でDB勉強中なんですが、以下のケースでは、更新/挿入/削除するべきレコードの判定はどうすればよいでしょうか?
元テーブル
--------------------------
id | item_name | item_location |
--------------------------
1 item1 1
2 item2 1
3 item3 2
--------------------------
これをDataGridViewに読み込んで、以下のように修正するとします。
--------------------------
id | item_name | item_location |
--------------------------
1 item3 2 ← item1がitem3に変更
2 item1 3 ← item2がitem1に変更されてlocationも変更
3 item4 1 ← item4 追加
4 item5 1 ← item5 追加
-------------------------- ※item2は削除
この処理の場合、insert・update・deleteするべきレコードの判定はどうやって行ったらよいでしょうか?
537:デフォルトの名無しさん
19/06/18 06:10:50.02 +H1sBCCVM.net
キー項目は何?無ければ作る
538:デフォルトの名無しさん
19/06/18 06:12:13.77 d6M+0/F+0.net
洗い替えがいいんじゃない?
元テーブルを裏で保持してて対象レコードを全部削除する
修正後を全部INSERT
539:デフォルトの名無しさん
19/06/18 06:13:19.34 3nOE2mBA0.net
プログラム板にキチガイ降臨中!botに一晩も反応する異常さ
一般人(学校恩師)に殺害予告をしているのでスレ建て通報してください。
スレリンク(tech板)
142 名前:a4 ◆700L1Efzuv 投稿日:2019/06/18(火) 05:29:55 ID://qVkzO
>>141
名古屋の人な 俺ね、君の問題を大橋先生と混ぜないことにする。つまりね、
片桐孝洋のことをボコろうと思う。普通に顎の骨を折る。これくらいで警察来るか?
一般市民とかさ、普通にさ、俺らの秘密なんだけどさ、日本人なんて復活ねーから。
540:デフォルトの名無しさん
19/06/18 07:41:47.49 HGOf7fkO0.net
WPFが流行らないまま時代はスマホアプリに
541:デフォルトの名無しさん
19/06/18 10:24:27.14 MvE0vXDO0.net
>>528
件数にもよるけど全体より修正が少なければ、最初にトラン作っておいて、編集がかかるたびにupdate/insert/delete。
確定時にコミット。
そうでなければ>>530
542:528
19/06/18 12:27:38.88 LmNIdt8j0.net
>>530 >>533
神様!ありがとうございます!!
543:デフォルトの名無しさん
19/06/18 14:34:26.70 H7tttB9U0.net
C# でセレニウム(Chrome)を操作しています。
この時に
ページを復元しますか?
Chromeは正しく終了しまsんでした
障害レポートと使用統計データ・・・
というメッセージが出て邪魔です。
これを出ない様に出来ないでしょうか?
544:デフォルトの名無しさん
19/06/18 15:07:21.28 6gzOVRYwd.net
>>535
再現可能な必要最小限のプロジェクトを共有して
545:デフォルトの名無しさん
19/06/18 16:06:35.49 H7tttB9U0.net
>>536
再現しないですかね?
普通にC#+ChromeDriverです。
546:デフォルトの名無しさん
19/06/18 16:35:19.94 6gzOVRYwd.net
しないよ
547:デフォルトの名無しさん
19/06/18 18:08:04.60 WG6tLdsV0.net
ずーっとセレニウムと格闘してんねw
548:デフォルトの名無しさん
19/06/18 18:35:30.59 lLW7uP7d0.net
>>537
ChromeDriverのことはChromeDriverのForumで聞けよ
URLリンク(groups.google.com)
549:デフォルトの名無しさん
19/06/18 19:51:09.93 9LNNY8IFM.net
C#でDB操作時かつトランザクション使用時のコミットやロールバックを書く場所と、例外発生時の処理の止め方について質問させてください
DB内のデータをC#のDataGridViewにバインドし編集したのち登録や削除を行う課題をしているのですが、
コミットやロールバックを書く場所や、例外発生時に処理を止める方法がよくわかりません
今までメソッドの処理を中断するときはreturnを使えば良いと思っていたのですが、私に課題を出していただいてる方にそのやり方ではないと言われました
どうやらthrowを使うパターンもあるらしいのですが調べてもよくわかりません
わかりにくい文章で申し訳ありませんがヒントだけでもいただけたら嬉しいです
どうかよろしくお願いします
550:デフォルトの名無しさん
19/06/18 20:01:43.07 z/sE9uve0.net
>>541
throwはこれ。例外を投げて場合によってはメッセージを入れるなどして呼び出し元でcatchさせたりする
URLリンク(docs.microsoft.com)
551:デフォルトの名無しさん
19/06/18 23:02:13.66 PmBejiWq0.net
Ruby で、Selenium WebDriver を使えば?
Chrome Driver は、ちょくちょく変わるよ。
それに、Chrome も、知らない間に、バージョンアップされてる!
自分のChromeが、バージョンアップされた時に、
新しいChrome Driverにしていないと、バージョンの不一致により、エラーで落ちる!
自分のChromeのバージョンを見て、もしバージョンアップされていれば、
そのバージョンに合った、Chrome Driverに変えてください!
552:543
19/06/18 23:13:17.82 PmBejiWq0.net
それと、5ch みたいに、空のHTML を送ってきてから、
Ajax で内容を取得するようなサイトは、
30秒ぐらい待たないと、内容が取得できないこともある
それと、5chはバグが多いから、ある日、突然動かなくなる。
IE では、フリーズするし
サイトのバグで動かなくなることも多いから、
example.com とか、色々なサイトで、使ってみる事!
553:デフォルトの名無しさん
19/06/18 23:17:03.81 H7tttB9U0.net
>>543 >>544
Chromeがマスト条件なんですよね。。。
554:デフォルトの名無しさん
19/06/19 00:25:52.80 SHnWP/2E0.net
>>545
そいつは自分の言いたいことを言うだけだから、会話しようとしても無駄だぞ
555:デフォルトの名無しさん
19/06/19 00:43:45.23 cBT9gst5a.net
chromeコンテナ使えよ
556:デフォルトの名無しさん
19/06/21 10:51:14.98 +Ex9QBom0.net
DataGridViewの列にDataGridViewImageColumnを設けています。
ネットからダウンロードしたエロ画像をローカルに保存して
DataGridViewのその列に1.jpg~5.jpを一覧表示します。
DataGRidView.DataSource = ero_DataTable;
参照している画像
c:\dat\downloaded_files\1.jpg ~ 2.jpg
再び別の画像をダウンロードし
DataGridViewにレンダリングする為に、まず最初にローカル画像を削除しようとすると
「別のプロセスで使用されているため、プロセスはファイル '1.jpg' にアクセスできません。」
というエラーメッセージが表示されてしまいます。
ローカルの画像を削除した後で、新しい画像をネットからダウンロードしてローカルに保存し
1~***.jpgとして保存し、DataGridViewから参照したいのですが、何か良い方法はないでしょうか?
557:デフォルトの名無しさん
19/06/21 10:52:25.51 LVq54M8sp.net
とりあえずcloseだな。
558:デフォルトの名無しさん
19/06/21 11:05:23.63 +Ex9QBom0.net
>>549
Closeはインテリセンスにいずれも出ませんでした。。。
困ってます。教えてくださいm(_)m
559:デフォルトの名無しさん
19/06/21 11:11:30.32 LVq54M8sp.net
じゃあ、usingで括る
560:デフォルトの名無しさん
19/06/21 11:23:43.41 kqcCd+WN0.net
DataTableの画像列をtypeof(Image)とかtypeof(Bitmap)でやってるなら、
代わりにtypeof(byte[])にして、
行を追加するときにBitmapオブジェクトを追加するんじゃなくて
File.ReadAllBytesしたバイト配列を追加するようにする
561:デフォルトの名無しさん
19/06/21 11:46:36.87 +Ex9QBom0.net
ありがとうございます。
試してみます!
因みに現在は、こういう感じのコードでDataGridViewには画像を表示しています。
int i_data_count = 5;
for (int i = 1; i <= i_data_count; i++)
{
dgv_erogazou["ERO_IMAGE", i - 1].Value = new Bitmap("C\data\" + i.ToString() + ".jpg");
}
562:デフォルトの名無しさん
19/06/21 12:56:06.44 LVq54M8sp.net
C#あるあるだな。
いつファイルを解放して良いのか分からないからいつまでもファイルを開いたままなんじゃね?
関数が中でなんとかすれば良いのに融通がきかなよなw
563:デフォルトの名無しさん
19/06/21 13:31:59.07 +Ex9QBom0.net
>>554
はい。
しゃーないので、アプリ起動時にすべてのローカルファイルを削除する処理を入れることにしました。
再取得時には、 ファイル名をプラス1インクリメントしてローカルに保存しまくります。
564:デフォルトの名無しさん
19/06/21 14:05:44.74 oHxDGzCo0.net
いや、不要になった時点でファイルをちゃんと閉じればええやん
565:デフォルトの名無しさん
19/06/21 16:12:50.06 g5FK/rwid.net
>>554
横着せずに不要になったら自分で閉じろよ
566:デフォルトの名無しさん
19/06/21 21:14:35.05 41J0QDC70.net
>>553
DataSourceにするのなら>>552が適切な回答だけど補足しておくとImageクラス(下位クラスのBitmapも)の面倒な仕様のせい
表示中の画像ファイルが削除できない問題の解決法
URLリンク(dobon.net)
他の解決法としてはインスタンスの内容をコピーして元の(ファイルをつかんでいる方の)インスタンスをDisposeしたりImageConverter経由で画像を取得したりする
567:デフォルトの名無しさん
19/06/21 21:53:59.45 LVq54M8sp.net
ファイル操作とbitmap操作を別々にやればいいんだろ?
分かってるよめんどくさいんだよ。
568:デフォルトの名無しさん
19/06/21 21:55:05.08 LVq54M8sp.net
むしろ取り出したら閉じてくれよ糞仕様だよな。
569:デフォルトの名無しさん
19/06/21 22:09:21.22 +Ex9QBom0.net
>>558
DataGridViewの中のImageColumnだからそれだとできないのでは?
570:デフォルトの名無しさん
19/06/21 23:28:05.29 JQSabSWL0.net
その後使うのに勝手に閉じるほうがクソ仕様じゃん
用途理解せず間違った使い方して仕様に文句言うってw
571:デフォルトの名無しさん
19/06/21 23:32:45.71 fAAfMpwpa.net
>>560
お前さんの思うようにならないこの世の中は、糞仕様の最たる物だろうね
572:デフォルトの名無しさん
19/06/21 23:50:02.71 r7op1kHj0.net
使うのは画像データで、読み取ったファイルは要らないから閉じてよ。
って話だろ?
573:デフォルトの名無しさん
19/06/22 00:10:22.86 0zozUz1q0.net
>>561
Bitmapを入れるだけだからできないってのはありえない
例えばImageConverter経由で直に入れる場合
dgv_erogazou["ERO_IMAGE", i - 1].Value = (Bitmap)new ImageConverter().ConvertFrom((byte[])System.IO.File.ReadAllBytes("C:\data\" + i.ToString() + ".jpg"));
574:デフォルトの名無しさん
19/06/22 00:22:05.59 RCotbW9/0.net
>>565
詳しいですね。試してみます。
575:デフォルトの名無しさん
19/06/22 09:51:37.11 sRxgpvPlM.net
>>564
画像データ変更してSaveするかも知れんだろ
SaveとかしないんならFileStream作ってコンストラクタに渡せばいいだけ
もちろんFileStreamは自分で閉じろよ
576:デフォルトの名無しさん
19/06/22 20:13:32.14 RCotbW9/0.net
>>565
ありがとうございます!!!出来ました!!
すばらしい!!そういう方法があったのですね!!!
しっかり画像の削除できました!!!
577:デフォルトの名無しさん
19/06/22 20:22:58.28 kyoGZvmZ0.net
えっちな奴め
578:デフォルトの名無しさん
19/06/22 20:25:30.34 oSCB+4xW0.net
えっち駆動開発の何が悪いんですか
579:デフォルトの名無しさん
19/06/22 20:36:08.
580:91 ID:Ox8nDO+0M.net
581:デフォルトの名無しさん
19/06/22 21:32:06.83 q0mPajE40.net
我がエロは永久に不滅です
582:デフォルトの名無しさん
19/06/22 21:36:35.73 RCotbW9/0.net
よしこれでエロ画像クローラーできる
583:デフォルトの名無しさん
19/06/23 15:09:33.41 4oGZ8zjy0.net
WEBのエロ画像収集のためのエロボット作るのにC#は向いてますか?
向いていないなら何言語や何のフレームワークがオススメですか?
584:デフォルトの名無しさん
19/06/23 15:41:05.03 4589uE1UM.net
>>574
エロは偉大だからな。
当然C#で可能。
585:デフォルトの名無しさん
19/06/23 19:50:32.93 XYuZEt+Z0.net
>>574
AngleSharpっていう便利なライブラリを使うと色々と捗るよ
586:デフォルトの名無しさん
19/06/24 07:04:12.89 INU2Nep40.net
>>576
こんなエロボットフレームワークがあるんですね
もう爆発寸前なので助かります
さー調査と設計だ
587:デフォルトの名無しさん
19/06/25 00:07:05.16 UHHkgEL+0.net
Guid構造体はなぜnullと比較可能なんでしょうか?
588:デフォルトの名無しさん
19/06/25 01:31:20.19 KoYuAQ6u0.net
>>578
nullの比較できるというのは気のせいだね
589:デフォルトの名無しさん
19/06/25 03:29:25.92 4JR3abKur.net
どの値型でもnullと比較する式は書けるが
Nullable以外だと結果は常に非null、じゃなかったっけ
590:デフォルトの名無しさん
19/06/25 10:31:07.49 6gRatuk7p.net
構造体なんて無いから。
常に実体がやり取りされているんだからnullの状態なんか無いよ。
591:デフォルトの名無しさん
19/06/25 11:54:15.85 M3mY4uqKd.net
構造体はあるやろ
592:デフォルトの名無しさん
19/06/25 11:56:21.92 S47SJWtZM.net
ガイジに話しかけるな
593:デフォルトの名無しさん
19/06/25 12:24:38.17 hYWx9HjQ0.net
なつくぞ
594:デフォルトの名無しさん
19/06/25 12:26:46.14 fHxE1RgIa.net
WPFちょっとやってみたけどクソめんどくさく感じるんだけど慣れるとformアプリではもうやらないってなるもん?
595:デフォルトの名無しさん
19/06/25 12:59:02.90 dhEdiy5y0.net
そこまでではないけどFormsでListViewにバインディングできないことにうんざりするぐらいには
596:デフォルトの名無しさん
19/06/25 13:05:18.68 kPWnGZLKM.net
>>585
やればやるほど新たに面倒臭い概念が出てきて余計に面倒臭くなるよ
コントロールテンプレート、依存関係プロパティ、ルーティングコマンド、ルーティングイベント、デコレータ、エフェクト、VSM、色空間、Drawing系API、等々、WPFの魔境は果てしなく続く
現代における典型的なセカンドシステム症候群の事例としては貴重だから、どんな概念があるかを一通り眺めてみる分には損はない
一つ一つのアイデア自体は非常にスマートなもので、なるほどと感心するようなものが多く、フロントエンド設計の勉強にもなるしね
597:デフォルトの名無しさん
19/06/25 19:00:07.49 jHEFOU5uM.net
>>587
ちょっと書きづらいよね
あとから見る時も見辛いし
プリプロセッサでも作ろうかな
598:デフォルトの名無しさん
19/06/25 19:02:33.37 vtQg0q3N0.net
.NET Standardの中で.NET Coreから呼び出されたかどうか判断できます?
Environment.GetCommandLineArgs().First()の拡張子で判断くらいしか思いつかず
明確な方法があれば助かります
599:デフォルトの名無しさん
19/06/25 19:26:07.17 zsZioWuM0.net
>>589
なんでそんなことがしたいの?
600:デフォルトの名無しさん
19/06/25 19:46:04.41 vtQg0q3N0.net
>>590
HttpWebRequestの実装が恐ろしいので何かしら対策しようとしています
601:デフォルトの名無しさん
19/06/25 20:18:45.64 H0q3OQVA0.net
URLリンク(docs.microsoft.com)
これでどう?
602:デフォルトの名無しさん
19/06/25 20:28:52.74 vtQg0q3N0.net
>>592
ありがとうございます
Assemblyを辿ってそれっぽいのも見つかったのですが、こちらの方が簡単なので
参考にさせてもらいます
603:デフォルトの名無しさん
19/06/26 04:29:08.46 eFojmlDc0.net
>>585
慣れても仕事とかだと普通にwinform使う
なんだかんだとwpfはめんどくさく
学習コスト高いから
習熟した開発者が少なくて安易に使えない
604:デフォルトの名無しさん
19/06/26 08:07:26.56 u3TFQ+4na.net
>>587
>>594
ありがとう
開発手法としては理にかなってて割と好きではあるんだけども勉強してみて学習コストが高いと言われるているのはよくわかった。。
もう少し書籍なり充実してて将来性も有望なら頑張れそうだけど早くも心折れかけてる