C#, C♯, C#相談室 P ..
[2ch|▼Menu]
2:デフォルトの名無しさん (ワッチョイ de35-HDOw)
17/04/22 10:57:42.55 g8ZT1khs0.net
■過去スレ
C#, C♯, C#相談室 Part89
スレリンク(tech板)
C#, C♯, C#相談室 Part90
スレリンク(tech板)
C#, C♯, C#相談室 Part91
スレリンク(tech板)
C#, C♯, C#相談室 Part91 (実質Part92)
スレリンク(tech板)
C#, C♯, C#相談室 Part92 (実質Part93)
スレリンク(tech板)
>>1
ここは、実質Part94

3:デフォルトの名無しさん (ワッチョイ 1e06-m8Mb)
17/04/22 13:39:44.03 iVvswOrb0.net
■関連スレ
初心者の質問向けはこちら
ふらっと C#,C♯,C#(初心者用) Part127
スレリンク(tech板)
>>2
補足thx。見逃していた

4:デフォルトの名無しさん (ワッチョイ 7ff7-/JtG)
17/04/22 14:55:56.60 c4VI05+R0.net
おつかれ
キチガイの人(山口人生)は、複数回線もっていそうだからどこまで効果するかは分からんけれど
何もしないよりマシだね、今後もワッチョイ有りで行こう。
死ねばいいのに・・・・

5:デフォルトの名無しさん (アウアウイー Sa63-wX6N)
17/04/22 15:23:39.94 FEVU7Q4Da.net
誰だよ山口人生ってww

6:デフォルトの名無しさん (エムゾネ FFaa-TkTn)
17/04/22 15:39:01.94 S+KK7a41F.net
正しいスレ番と設定で立てました
C#, C♯, C#相談室 Part94
スレリンク(tech板)

7:デフォルトの名無しさん (ワッチョイ 7ff7-/JtG)
17/04/22 16:06:32.09 c4VI05+R0.net
>>5
ググッてみてば分かるw
東大出でイリノイ大学で不完全性定理で有名なゲーデルの弟子として著名な
竹内外史先生の弟子になってPh.Dを取るも、神奈川大学で万年講師、研究室の壁を蹴って騒音出していたらクビになってしまったヤツwww
経歴だけ見るとスーパーエリートwwww
学歴荒らしがあるところに山口人生あり、酷い学歴厨の60台後半じぃさん
実家はお金持ち、もう親は鬼籍かな?ビル持っていて資産が一億切っているとか、絶対ヤバそうw
P=NPを主張しているが誰にも相手にされず、学会では芸人扱いw

8:デフォルトの名無しさん (アウアウイー Sa63-wX6N)
17/04/22 17:40:53.42 L9cy9Aq3a.net
統失くんいらっしゃい、ってかw

9:デフォルトの名無しさん (ワッチョイ 7ff7-/JtG)
17/04/22 17:57:12.00 c4VI05+R0.net
敬意が足らないですね、糖質超教授と読んであげましょうwww
いらっしゃらなくていいです、迷惑なので死んでください

10:デフォルトの名無しさん (ワッチョイ bb4c-VP69)
17/04/22 19:18:48.92 7MQLYtSw0.net
本当のその山口ってのなのか?

11:デフォルトの名無しさん (ワッチョイ 7ff7-/JtG)
17/04/22 19:41:05.45 c4VI05+R0.net
張り付き方が異常、現役じゃ不可能
発言が山口人生と似ているし話が高齢者臭い、中年ですらない
Delphiを使っていて最近C#に移ってきている
ここまでのマジキチには普通日常で出会うことは無い、希少種
そんなヤツがこの日本に何人もいてたまるかwwww

12:デフォルトの名無しさん (ワッチョイ bb4c-VP69)
17/04/22 20:05:29.05 7MQLYtSw0.net
このスレ、自分以外は全部同じ人が書き込んでたりしてw
ちょっとしたホラーだな

13:デフォルトの名無しさん (ドコグロ MM33-MUXz)
17/04/22 20:49:00.38 IUEn1/EeM.net
なんかワッチョイ付いてると気に入らないみたいよ
俺は付いてるほうが好きだからこっちのスレのがいいな

14:デフォルトの名無しさん
17/05/03 17:15:57.72 crwmH6BQM.net
こっち使おうぜ

15:デフォルトの名無しさん
17/05/05 16:32:19.84 bVbNjYk40.net
今日発見した衝撃の事実
なぜWindowsUpdateの時ファイルがぶっ壊れるのかというのがずっと謎だった
Application.ThreadExit イベントで書き出しスレッドの終了処理していたのだが
手動のシャットダウンだと問題なく呼ばれるのに、リブートするとThreadExitが呼ばれない
それどころか、フォアグラウンドで作成していたスレッドが強制終了させられている上
System.Threading.ThreadAbortExceptionmもSystem.Threading.ThreadInterruptedExceptionも送出されないまま
突然中断で終了しやがってた・・・
ひでぇ終了の


16:仕方だ・・・ なんでリブートに限りこんなシーケンスで強制終了しやがるんだ、この糞が・・・



17:デフォルトの名無しさん
17/05/05 16:49:33.38 tHPUBlll0.net
セキュリティ的にアプデは大事だからね
多少強引な手段で終了してもいいよね仕方ないね

18:デフォルトの名無しさん
17/05/05 17:01:44.90 3XrDrf840.net
シャットダウンと再起動で違うのか

19:デフォルトの名無しさん
17/05/05 17:10:34.10 pBlqXMv00.net
もっと詳しく知りたい。
SessionEndingイベントとかで捕まれないんか?
それ

20:デフォルトの名無しさん
17/05/05 17:16:16.69 bVbNjYk40.net
>>16
セキュリティは最終的には自分のファイルが壊れないことを目的にやるわけだが
そのセキュリティ対策が破壊してくれるのであれば、本末転倒なのでそんな対策は不必要って思うわけだよ。

21:デフォルトの名無しさん
17/05/05 17:17:13.60 bVbNjYk40.net
>>18
SessionEndingイベントが来たときはもう殺された後だねw
ここでは対策出来ない。

22:デフォルトの名無しさん
17/05/05 18:09:02.57 pBlqXMv00.net
>>20
おおう、そうなんか。

23:デフォルトの名無しさん
17/05/05 18:13:33.93 A3oUashQa.net
>>15
Windows Updateだろうが何だろうがリブート開始時に
ユーザーに確認なくプロセスの強制終了なんてそもそもされないと思うよw
何か勘違いしてない?

24:デフォルトの名無しさん
17/05/05 18:24:50.53 A3oUashQa.net
ちょっと調べた感じ
URLリンク(news.mynavi.jp)
にあるような感じでレジストリいじっちゃったんだろうねw

25:デフォルトの名無しさん
17/05/05 18:43:02.46 PzvORh1V0.net
>>22
EWX_FORCEとかEWX_FORCEIFHUNGを指定してるんでしょ
URLリンク(msdn.microsoft.com)
セキュリティアップデートは確実にリブートする必要あるから多少の犠牲はやむを得ない
って思ってるんじゃね?

26:デフォルトの名無しさん
17/05/05 19:11:23.54 FiATWWo80.net
客側でこれを指定されたらたまらないなー

27:デフォルトの名無しさん
17/05/05 19:58:14.99 ueXs9gXt0.net
ExitWindowExの英文説明では、DWORD dwReservedのとこがdwReasonになってんね。
このへんかな

28:あ
17/05/05 20:10:07.89 05XvGSted.net
プロセスの終了確認はあるだろうか、その結果タイムアウトした時のスレッドの落とし方はものすごい強引だった気がする。
昔shutdown -s -t 01で落として確認した事ある。

29:デフォルトの名無しさん
17/05/05 20:14:25.56 3cKL/0El0.net
OSの仕様なのか.NET独特の挙動なのか>>23みたいな話なのかはっきりしないな
.NET独特の挙動だったら業務でアプリ作っている人は死活問題じゃね

30:デフォルトの名無しさん
17/05/05 20:27:56.88 PzvORh1V0.net
>>26
日本語版のドキュメントが更新されてないだけみたい
WindowsXPからdwReasonになってる

31:デフォルトの名無しさん
17/05/05 20:30:18.07 A3oUashQa.net
いやいやデフォではプロセス強制終了なんてないよ絶対w
Winduws Updateはデフォでは自動になってるんだから、Windows Updateが走るたびに
そんな無茶苦茶やってたら世界中で大騒ぎになってるってw
XPの時代はそんな経験したような記憶もあるけど
少なくともVista以降はないと思うよ

32:デフォルトの名無しさん
17/05/05 20:34:57.11 3cKL/0El0.net
俺は趣味でやっているだけだしアップデートも任意のタイミングでしかやらないからどうでもいいが
VSの有料ライセンス買っている人がいて心配だったら直にMSに聞いた方がいいな

33:あ
17/05/05 20:


34:48:13.06 ID:05XvGSted.net



35:デフォルトの名無しさん
17/05/05 22:27:29.53 ueXs9gXt0.net
>>30
言いたい事はわかるw
まーもちつけ

36:デフォルトの名無しさん
17/05/06 07:24:56.49 KTPtsEWO0.net
>>30
10以前はWindowsUpdateをするタイミングをこちらの問題の無いタイミングで出来たから
そもそも問題自体が存在しなかったという事実。

37:デフォルトの名無しさん
17/05/06 07:54:55.96 rojhZA3i0.net
適度にトラブル起こしてあげないと窓際族の情シスの仕事がなくなっちゃうからね

38:デフォルトの名無しさん
17/05/06 08:25:02.90 2V5tVO5D0.net
>>27
これは良いこと聞いた。
うちも似たような仕組み作ってるグループあるから、ExitWindowsExも利用して調査してみるよう伝えてみるわ

39:あ
17/05/06 08:57:56.21 BE072L/9d.net
>>36
UIスレッドでメッセージボックス出しとくと、プロセスを落とす正規ルートからはずれて再現できるとか、なんか色々こねくり回したよ。
今だと仮想マシンあるから、マシンが上がってくるの待つ辛さ無いかもね。

40:デフォルトの名無しさん
17/05/25 06:03:37.70 OZ9w4Yf70.net
ロック処理についてちょっと相談です
●二つ以上のオブジェクトを同時にロックしたい
片側づつ順を追ってロックしていくのはダメ、デッドロックするので。
ロック出来ない状態である限り、ロックは限りなくしないようにしたい。
ロックに失敗までのタイムアウト処理もしたい。
●例えばこれだと、デッドロックを引き起こすので良くない
lock(obj1) lock(obj2) 処理;
●そこで、言語に以下のような構文があれば理想的なのだが
ないので、それらしいヘルパを作りたい、できれば効率的な物。
lock(obj1,obj2, ... ,timeout=1000) {
 ロック成功の場合の処理
}
timeout {
 タイムアウトした場合の処理
}

41:デフォルトの名無しさん
17/05/25 06:03:54.24 OZ9w4Yf70.net
●とりあえず簡単に考えた、しかし無駄が多そうに見える、もっと良いものが欲しい。
DateTime begin = DateTime.Now;
再試行:
bool l1 = Monitor.TryEnter(obj1, 0);
bool l2 = Monitor.TryEnter(obj2, 0);
if (l1 && l2) {
 goto ロック成功;
} else {
 if(l1) Monitor.Exit(obj1); // チェックと共にロックしてしまうので、このコードも残念賞
 if(l2) Monitor.Exit(obj2); // 同上
 if ((DateTime.Now - begin).TotalMilliseconds > 1000) {
  goto タイムアウト;
 } else {
  System.Threading.Thread.Sleep(10); // この待ち方も酷い
  goto 再試行;
 }
}
タイムアウト:
{
 タイムアウト処理
}
ロック成功:

42:デフォルトの名無しさん
17/05/25 07:25:50.25 zdaQwC0X0.net
ていうか普通にロック専用のオブジェクト作ってそれをロックすりゃいいんじゃねーの

43:デフォルトの名無しさん
17/05/25 07:32:55.17 OZ9w4Yf70.net
>>40
それだとロック粒度が大きくなりすぎて逆にデッドロックの可能性を拡大してしまいますね。

44:デフォルトの名無しさん
17/05/25 07:34:38.83 ZdIAUNK00.net
セマフォ使ったらどう?
資源数もタイムアウトもあるし

45:デフォルトの名無しさん
17/05/25 07:36:13.98 OZ9w4Yf70.net
>>42
セマフォは重いんですよねぇ
それをやるくらいなら>>39の例の方が効率的ですね。

46:デフォルトの名無しさん
17/05/25 07:50:05.84 OZ9w4Yf70.net
>URLリンク(article.higlabo.com)
lock(Monitor.Enter/Monitor.Exit) 同じプロセス 20ns
Mutex 違うプロセスも可能 1000ns
SemaphoreSlim 同じプロセス 200ns
Semaphore 違うプロセスも可能 1000ns
ReaderWriterLockSlim 同じプロセス 40ns
ReaderWriterLock 同じプロセス 100ns
Semaphoreは高機能すぎて、あまり軽々しくは使えない。
そのわりにはlockと違ってスレッドチェックがないので自家中毒を起こしたりするので、別途そのための対処が必要になったりする。
lock 20nsはやはり捨てがたいものです。

47:デフォルトの名無しさん
17/05/25 08:14:43.50 CNpknsWj0.net
見も蓋もないが、設計が間違ってる気がする。

48:デフォルトの名無しさん
17/05/25 08:20:40.14 OZ9w4Yf70.net
>>45
そんな事は無いと思うんだけどな、セマフォに標準で実装されているように
これはマルチスレッドデザインパターンとしては基本になるかと。
というか教科書にある典型ですし。
ところが、Monitorにはなかったので、おや何故ない?となっている所。
せっかく高性能なのに有効活用できないのは勿体ないと。

49:デフォルトの名無しさん
17/05/25 08:30:18.43 a8axhl9cd.net
>>46
そもそもなぜロックが必要なの?

50:デフォルトの名無しさん
17/05/25 08:34:06.74 OZ9w4Yf70.net
>>47
分からないならレスしないでもらえますか?
流されては叶いません。

51:デフォルトの名無しさん
17/05/25 08:52:37.16 CNpknsWj0.net
>>39
みたいなことをするぐらいならSpinLockを使った自前実装で処理したほうが良いかもしれない。
もしくは
>>lock(obj1) lock(obj2) 処理;
これでもデッドロックしないように、Lockする順番を厳格にしてコーディングするとか
というか、言葉遣いに気を付けたほうが良いと思うよ。

52:デフォルトの名無しさん
17/05/25 08:54:51.29 foQMlEN20.net
そんなにパフォーマンスが大事ならオプティミスティックロックも検討したら?
どうせ滅多に競合なんかしないでしょ

53:デフォルトの名無しさん
17/05/25 09:01:40.08 a8axhl9cd.net
>>48
そもそもロックが必要という判断に至った理由が明らかでない
ロックがベストな選択肢である保証はどこにもない

54:デフォルトの名無しさん
17/05/25 09:04:40.54 OZ9w4Yf70.net
>>49
ここにいる知らなくてもレスしないと死ぬ病気にかかっている奴はどうしょうもない。初心者の上にキチガイなら死ねって感じですが。
とりあえず、スピンロックは使いたくないですね、あれはCPUタイムをすり潰しながら高速動作を確保しようとするものだから
それの主用途は、激重計算タスクを並列処理するための物であって、目的とちょっと違いますね。
あと、排他処理をちゃんと勉強すると、順序等を考えていても意味が無くて
ロックする瞬間に作業に必要になるリソースをすべて確保して、必ず抜けられるという事の方がデッドロックに対する対処としては有用です。
でも、上に書かれているように一つのオブジェクトで粒度を上げてしまったら本末転倒になります。

55:デフォルトの名無しさん
17/05/25 09:05:42.97 OZ9w4Yf70.net
>>51
ちゃんとわかっている人を待っているんだから黙ってろ

56:デフォルトの名無しさん
17/05/25 09:12:36.71 foQMlEN20.net
アイデアを募るならもっと広い視野で考えたほうがいいってことでしょ
矮小な問題に限定されすぎていて、マイクロベンチマークレベルの不毛な議論にしかならない
状況によっては工夫すればロックフリーな実装もできるかもしれないよ

57:デフォルトの名無しさん
17/05/25 09:21:45.74 CcaoVCJwa.net
うわあ。


58:これは無視すべき奴だw



59:デフォルトの名無しさん
17/05/25 09:24:19.81 CNpknsWj0.net
>>52
URLリンク(www.jpcert.or.jp)
ソースはそれっぽいものを適当に引っ張ってきた
ロックする順序は意味あると思うんだけど、、、
デッドロックが怖いってことだと思うんだけどさ
親から子へ順番守ってロックすればデッドロックしないじゃん?

60:デフォルトの名無しさん
17/05/25 09:24:47.08 OZ9w4Yf70.net
>>55
世の中上には上の奴がいるんだよ、俺なんかよりはるかに知識を持っている奴はいくらでも。
お前より俺の方が知識あるが、そんな俺よりもはるかに凄いやつは山のようにいるんだ。
そろそろ、中二病みたいな全能感は捨てな

61:デフォルトの名無しさん
17/05/25 09:32:43.15 OZ9w4Yf70.net
>>56
親子関係があれば、親についている操作ようのメソッドにロック処理をいれれば問題ないですね。
でも、今回のは完全に独立しているオブジェクト間です。
ちょっと難しいですね。
実際問題としては、順序を使う側にすべて守らせるというのは、理屈では語れても実践的ではないかもしれません。
やはり、ロック時間を短くする事が肝要であり、その為には粒度を小さくするのが基本となるかと。
汎用的なやり方としては、この方法がもっとも優れていると思います。
なので、この方法をより高パフォーマンスで実現できるヘルパーを実装して纏めて利用したい訳です。
だから、別の方法は考えていないです。Monitorを使った高速排他処理が今回の最終目標です。

62:デフォルトの名無しさん
17/05/25 11:13:36.68 5itOJ4P90.net
楽観的ロックのタイムアウトで、ロールバックするのが確実
人間には絶対にミス・バグがあるから、
デッドロックを100%、起こさないようにする事は、絶対に出来ないから

63:デフォルトの名無しさん
17/05/25 11:20:25.49 ts6Ek6dYM.net
これ触っちゃいけないやつじゃん・・・

64:デフォルトの名無しさん
17/05/25 11:39:35.31 OZ9w4Yf70.net
>>59-60
だから、もう来るなって、お前には何も聞きたいことは無いし、そんな話は聞かされたところで新たな何かには全くつながらない。
C#スレには、初心者用じゃないもう一本の匿名ゴミすれあるだろ、そっちいけよ。
分かっている人が来たときにコメントがゴミだらけになる。

65:デフォルトの名無しさん
17/05/25 12:20:12.43 XlAyjrlQa.net
たぶん質問者の方が俺よりずっと詳しそうだから釈迦に説法だと思うけど、
>●例えばこれだと、デッドロックを引き起こすので良くない
>lock(obj1) lock(obj2) 処理;
これがデッドロックしうるのはこのスレッドがobj1だけをロックした状態で
別のスレッドがobj2をロックして、そのスレッドがobj1を待機してる場合だよね?
この場合このスレッドがobj1をアンロックしない限りobj2もアンロックされないからデッドロック
だから、ネストの内側のock(obj2) だけをタイムアウト付きのMonitor.TryEnterに置き換えれば
効率的かどうかはどうかはともかく、要件は満たせるんじゃいないの?
知らんけど

66:デフォルトの名無しさん
17/05/25 12:28:42.96 OZ9w4Yf70.net
>>62
まさにその通りです、それが直下に書いた雑な例です。
このヘルパーを作りたいという訳です、見るからに美しくないので詳しい人の登場をお待ちしているという所です。
必要な全ロック取得に失敗したら即座に全て解放して、乱数時間まって次を伺う。
これはよくある教科書通りです。

67:デフォルトの名無しさん
17/05/25 13:09:08.98 a8axhl9cd.net
>>62
キチガイに触るなよ

68:デフォルトの名無しさん
17/05/25 13:35:53.97 Gj1BXJi/M.net
基地外大暴れワロタ

69:デフォルトの名無しさん
17/05/25 13:51:23.71 CNpknsWj0.net
URLリンク(ideone.com)
勢いで書いた。

70:デフォルトの名無しさん
17/05/25 13:59:41.85 OZ9w4Yf70.net
>>66
いいっすね、いいっすね
Thread.Sleep(100); ← ここがもうちょっとマシな待ち方になるといいんですがw
自分はインターフェイスは、IDispose使ってロック範囲を lock で書いたような雰囲気にしてます。
タイマーは、初ロック失敗の後にスタートさせて、ロック成功(大半のケース)でロスが少ないようにしてます。
なかなか素敵な感じになってくれませんw

71:デフォルトの名無しさん (ワッチョイ 1f1b-6//c)
17/07/11 08:22:12.16 MCsEtOKi0.net
↓のテンプレートとジェネリックの違い、にある
URLリンク(docs.microsoft.com)
トップ項目にある
・C# ジェネリック クラスでは、ユーザー定義演算子は呼び出すことができますが、算術演算子を呼び出すことはできません。
"算術演算子を呼び出すことはできません"ってどーいう意味っすか?
算術演算子って+-*/のこと?

72:デフォルトの名無しさん (アウアウイー Sacb-G8QH)
17/07/11 09:57:14.72 t4lUkhAUa.net
遠まわしに制約について言ってるのかな。
算術演算子が使える型のみ受け入れるような制約はできないから
自動的に算術演算子は使えないことになるわけだけど...

73:デフォルトの名無しさん (ワッチョイ 5eea-bL4e)
17/07/16 01:54:50.85 mMdQfX5s0.net
楽しそうだな。w

74:デフォルトの名無しさん (ワッチョイ 6a90-qWRz)
17/07/29 20:36:18.47 Gw88XuqA0.net
ジェネリックに算術演算子を使うなら、そんなに速度が要求されないんなら
(dynamic)にキャストしてからなら演算子が使える
まあこれキャッシュ付きのリフレクションだから速度は期待しないでよー

75:デフォルトの名無しさん
17/08/21 18:56:43.94 LgNyTwHt0.net
C++ではテンプレートに焦点をあてた書籍はいくつかあるけど
C#でジェネリックに絞ったオススメ書物ってのはありますか?
C++のテンプレートテクニックのどれが使えないか?ってのは知りたい。

76:デフォルトの名無しさん
17/08/21 19:55:10.65 KmAQXiSua.net
C#のジェネリックって1時間で読める記事で網羅されるぐらいの内容しかないっすよ

77:デフォルトの名無しさん
17/08/21 20:02:09.15 vP5jpteT0.net
テンプレートテクニックとか全部忘れてOK

78:デフォルトの名無しさん
17/08/21 21:10:14.69 qdRqCzb30.net
プレートテクトニクス

79:デフォルトの名無しさん
17/08/27 02:29:03.34 /hywh0UG0.net
式テンプレートジェネリックでどー書くんだよ

80:デフォルトの名無しさん
17/10/09 21:40:27.74 dzl0TrLma.net
すみません。ちょっと急いでいます。
C#でクラスを宣言する際に、
class {...} とpublic class {...}
このふたつの違いが判りません。
教えてください。

81:デフォルトの名無しさん
17/10/09 21:54:29.58 rAF1hT8M0.net
お願いします。同じものですか?

82:デフォルトの名無しさん
17/10/09 21:56:31.06 28tAbNEV0.net
アクセス修飾子を省略したクラスは internal になる
public とか internal とかの意味については↓
アクセス修飾子 (C# プログラミング ガイド) | Microsoft Docs
URLリンク(docs.microsoft.com)

83:デフォルトの名無しさん
17/10/09 21:56:50.83 u67WqECL0.net
>>77
外部から見えるか見えないか

84:デフォルトの名無しさん
17/10/09 22:03:58.01 rAF1hT8M0.net
ありがとうごぜます。
internalですね。アセンブリ言語レベルの話のようなので
まだそこまで至ってないのでpublic, private, protectedだけ使います。
すみませんでした。

85:デフォルトの名無しさん
17/10/09 22:12:08.58 Y4203ffV0.net
「アセンブリ」ってみて「アセンブリ言語」って理解するのは先が思いやられるな。全然意味が違う話なのに

86:デフォルトの名無しさん
17/10/09 22:16:05.20 28tAbNEV0.net
>>81
上記のページで


87:「アセンブリ」と言ってるのはアセンブリ言語のことではなくて 「exe」とか「dll」とかのファイル単位での機械語のまとまりのことだよ



88:デフォルトの名無しさん
17/10/09 22:41:05.37 rAF1hT8M0.net
ありがとう。
今自分でも調べていてなんか違うなーって思ってました。

89:デフォルトの名無しさん
17/10/09 23:04:42.97 /pZGRYTm0.net
bin
バイナリ・ファイル

90:デフォルトの名無しさん
17/10/10 00:40:47.02 pliWVB3X0.net
今となっては、いや初めから忘れてもいい話だったけど
ファイル単位の物理的なまとまりはモジュール(.netmodule)で
モジュールをまとめた論理的まとまりがアセンブリ(.dll/.exe)
Visual Studioが2002の初めから一貫してサポートしてないこのモジュールって単位をMSはどう使うつもりだったんだろう

91:デフォルトの名無しさん
17/10/10 21:13:43.71 9Raz+qz10.net
最終的に1つのライブラリにしたいものをC#とF#で部分ごとに書き分けるとかそういう例は見た事あるけど
(ものによってはF#のほうが書きやすいとか)
実際それが必要なユーザがどれだけいるのかって話な

92:デフォルトの名無しさん
17/10/10 23:25:11.21 I+aeGBiR0.net
C++/CLIとC#の組み合わせがある。
最終的な呼び出し元はネイティブと同じ口なんだけど、
dynamicやasync/awaitなどを使いたいため、
dllexport付近の薄皮一枚だけ C++/CLI、
残りは全部C#で記述して1つの.dllにってのに.netmoduleを使う。
C#とF#の組み合わせとか、ほとんど無意味に思えるが…

93:デフォルトの名無しさん
17/10/11 03:26:54.68 rqqSAVqsM.net
iron python も?

94:デフォルトの名無しさん
17/10/18 13:52:47.94 ufsScDVj0.net
event解除ってnullぶっこんでもいいのかしら?
何処見ても-=でしろってのばかりで全解除の適切なやり方載ってないんだけど
一応null代入で動いてるぽいけどちと不安

95:デフォルトの名無しさん
17/10/18 14:05:31.13 4p9Ry6Jxa.net
まいなすはそれだけ消す、nullはすべて消す
できわるいコードだとnull入れると落ちるw

96:デフォルトの名無しさん
17/10/18 14:18:32.71 ufsScDVj0.net
全解除ってそれなりに需要あると思うんだが何処も扱ってない不思議
+=って内から外へ処理出しする訳だから
インスタンスが破棄されたら当然破棄されるべきなのにどうもそうなってない
nullぶっこめばGC回収されるみたいだけど正しいやり方なのかな

97:デフォルトの名無しさん
17/10/18 15:17:21.27 8oWZ+6kpM.net
設計次第じゃないの

98:デフォルトの名無しさん
17/10/18 15:34:04.84 jnsT8t6ma.net
購読側じゃなく発行側が勝手に解除ってのがちょっと...
むしろどういう場面で必要になるのか想像できないな
> +=って内から外へ処理出しする訳だから
> インスタンスが破棄されたら当然破棄されるべきなのにどうもそうなってない
ここは何を言ってるのかよく分からない
まあ、イベントというかデリゲートのマルキチャストの仕組みが分かりづらいのはわかる

99:デフォルトの名無しさん
17/10/18 15:50:00.66 h6dEijxza.net
>>92
正しいというかとりあえず安全なのは何もしないの放り込んどく
それでも勝手に消されて困るのがあるかもしれんがw

100:デフォルトの名無しさん
17/10/18 16:11:03.50 ufsScDVj0.net
>>94
例えば非同期通信でデシリアライズ終わったらイベント投げて後は勝手に死ね、って場合
-=だと発行側で解除するのが困難でリークしちまう
最新VerC#ならTaskで後処理書けばいいけど、Unityだとつい最近まで3.5だったから

101:デフォルトの名無しさん
17/10/18 16:24:45.96 jnsT8t6ma.net
>>96
俺の理解不足だったらごめん
リークするのはイベントの購読側のオブジェクトLがイベントの購読を解除しないまま
Lを参照する変数がなくなった場合で


102:A発行側のオブジェクトPのイベントに Lのメソッドが登録されたままPへの参照がなくなってもそれはリークにならないと思うんですが



103:デフォルトの名無しさん
17/10/18 16:39:10.41 ufsScDVj0.net
>>97
そう思ってた時期が俺にもありました
しかし実際はリークしてOutofMemoryが出る
どうも購読側参照が残ってると到達可能と見られてGC回収されないぽい
本当にそういう理屈かは知らんけどnullぶち込むと例外でなくなる

104:デフォルトの名無しさん
17/10/18 17:26:02.20 jNhOnQNR0.net
思い込みって怖いネー

105:デフォルトの名無しさん
17/10/18 17:46:05.16 GswCLlj60.net
>>98
>どうも購読側参照が残ってると到達可能と見られてGC回収されないぽい
登録解除してないから購読側は発行側から参照されてて回収されない
その状態で購読側が発行側を参照してるんなら発行側も回収されないよね

106:デフォルトの名無しさん
17/10/18 19:19:26.31 j/PgXgnk0.net
循環参照しててもルートから到達不能なら回収されるよ
されないなら単に循環参照以外の参照が何かしら残ってるだけ
いいや解放されないね!とかいう思い込みに付き合う気はないから
口ごたえがしたければ、VSのメモリーアナライザーで
リークしているというオブジェクトの参照状態のスナップショットを撮って
ここに貼り付けてから続けるように

107:デフォルトの名無しさん
17/10/18 21:18:06.23 GswCLlj60.net
>>101
すまんすまん、他の言語と勘違いしてた。

108:デフォルトの名無しさん
17/11/07 14:20:16.62 7CEykIkZ0.net
WebBrowserコントロールを使うと、レジストリ編集しないと自動的にIE7相当になってしまうんですが、
レジストリ編集無しでIE11相当にするにはどうしたらいいでしょうか?
もしくは、dllファイル1つで済むなら、他のブラウザコンポーネントでもいいです。

109:デフォルトの名無しさん
17/11/07 14:42:48.60 uJ4GX7RNM.net
IEは他にはhtmlのmeta要素使うとか
レジストリっていってもHKCUなんだからアプリ起動時に書き込むだけのことだけど

110:デフォルトの名無しさん
17/11/07 18:40:38.64 MJK6I9RA0.net
>>103
CefSharpっていうChromiumの実装がNuGetにあるよ
AnyCPUに対応してないんで導入が若干手間だけど気合いでがんばれ

111:デフォルトの名無しさん
17/11/08 00:31:11.06 NuL34q9d0.net
>>103
CoInternetSetFeatureEnabled

112:デフォルトの名無しさん
17/12/18 07:59:20.53 mWvJQqvN0.net
#EntityFrameworkの質問ってここでよいですか?
EFCore+Sqliteで開発してるんですが、".db"ファイルのパス指定で困ってます。
コネクション作成時に、以下でdbパス指定をしています。
var connectionString = new SqliteConnectionStringBuilder { DataSource = @"./app.db" }.ToString();
この場合、理由がよく分かってないのですが、
Update-Databaseを実行した時(CreateDatabaseが発行される時)、プロジェクトフォルダからの相対パスになり、
SaveChangesを実行した時(Insert文が発行される時)、/bin/debugからの相対パスになります。
毎回相対パス指定を変えるのが面倒で、かつ絶対パス指定はしたくないもので。
何か良い方法はありませんでしょうか。

113:デフォルトの名無しさん
17/12/18 13:46:10.03 325qmzymM.net
ここじゃないと思うの

114:デフォルトの名無しさん
17/12/18 14:56:45.39 dTBoNCZ50.net
>>107
で、app.dbはどこに有るのよ、

115:デフォルトの名無しさん
17/12/18 14:57:20.68 E4FIT7xPa.net
俺ならexeパス取得して絶対パス作ってそれ使うけど、
絶対パスいやならカレントフォルダ変更したら?

116:107
17/12/18 23:30:30.75 mWvJQqvN0.net
>>109
プロジェクトフォルダにできます。
ただ、プログラム実行時は別のパス見てるからDBないエラーになります。
>>110
あー、それいいかもです。
やってみます。

117:デフォルトの名無しさん
17/12/31 15:13:16.63 n7dS7ECy0.net
個々の人ってWinFormとWPFどっちで作ってる?

118:デフォルトの名無しさん
17/12/31 15:13:40.84 K0nOGJob0.net
WPF

119:デフォルトの名無しさん
17/12/31 16:15:17.15 jcdX0HHma.net
何度聞かれてもformだ

120:デフォルトの名無しさん
17/12/31 16:16:35.61 PdI3PgJiM.net
オレも2年前からWPFにした。

121:デフォルトの名無しさん
17/12/31 16:35:43.42 GvxCaHuK0.net
新規は基本的にWPFだけど、使い捨てのツールはFormsのことも多い。

122:デフォルトの名無しさん
17/12/31 16:54:40.12 Jm0z8SXaF.net
昔はVSが何かっつと即堕ちして使いもんにならんかったが
今はまともになったんかねWPF

123:デフォルトの名無しさん
17/12/31 17:32:53.36 n7dS7ECy0.net
WPFって技術資料があんまないから、つっかかりにくいんだよなあ

124:デフォルトの名無しさん
17/12/31 18:07:24.15 jSVu2Yi+0.net
>>118
日本語が変だな
外国人?

125:デフォルトの名無しさん
17/12/31 18:22:11.56 OKQGXBiEx.net
>>119
あれだ外人からみれば
そうみえんじゃねw

126:デフォルトの名無しさん
17/12/31 20:17:21.07 jSVu2Yi+0.net
つっかかりにくい→つかえやすいorつっかえやすい
それとも
つっかかりにくい→とりつきにくいorとっつきにくい
あんまない→あまりないorあんまりない

127:デフォルトの名無しさん
17/12/31 20:22:19.59 TCYSbVmxa.net
読解力ないな
外国人?

128:デフォルトの名無しさん
17/12/31 20:26:45.27 sT88mvz00.net
読解力が無かったら修正例は書けないと思う

129:デフォルトの名無しさん
17/12/31 21:26:10.60 mh0j3eXv0.net
どこかの田舎もんが書いた文章なんだろ

130:デフォルトの名無しさん
18/01/01 08:43:08.79 qva7Cn1y0.net
そんな事にも突っ込まないといけないほど余裕がないんだろうな

131:デフォルトの名無しさん
18/01/08 21:07:22.93 ff9XOb220.net
ILMergeについて質問です
例えば自作アプリ X.EXE に外部ライブラリ A.DLL と B.DLL を結合して X2.EXE を作ったとします
この X2.EXE を配布する場合、A.DLL と B.DLL の著作権情報を明記すれば問題ないという認識で合っていますか?

132:デフォルトの名無しさん
18/01/08 21:23:20.13 /QyX6ETP0.net
>>126
それはILMerge関係なくA.DLL と B.DLL のライセンスの問題です
結合が禁止されていなければ添付して配布するのと同じになります
どんなライセンスかによって違うので
【License】ライセンス総合【利用許諾】
スレリンク(tech板)
へどうぞ

133:デフォルトの名無しさん
18/01/08 21:33:00.91 7hYpzMEE0.net
>>126
> この X2.EXE を配布する場合、A.DLL と B.DLL の著作権情報を明記すれば問題ないという認識で合っていますか?
各々のライセンスを確認するしかない

134:デフォルトの名無しさん
18/01/08 22:13:04.36 ff9XOb220.net
>>127-128
レスありがとうございます

135:デフォルトの名無しさん
18/01/31 23:46:33.39 3zSQiFnB0.net
ラムダ式から右辺の情報を取得する事は出来ますか?
.net MVC のソースコードを見ていて思ったのだけど、たとえば razor の Html.LabelFor メソッドは第一引数に
m => m.name などと書いて、引数 m で示すクラスインスタンスの name プロパティの DisplayName 属性の値を
ラベルとして表示していたりします。
ということは、ラムダ式 m => model.name から name プロパティの属性情報を取得しているのだと思うのですが、
どうやってるのかさっぱり分からず。
調べるべきキーワードだけでもいいので、ヒントをいただけませんか。

136:デフォルトの名無しさん
18/02/01 01:19:13.10 7ACR6glp0.net
ラムダ式を受け取るメソッドの引数を
Func<String>の代わりにExpression<Func<String>>にしたりする
キーワードは式ツリー

137:130
18/02/02 00:27:05.13 eoTWLp2s0.net
>>131
ありがとー。
軽く見てみましたが、Expression ってよく分からないですね。。
式ツリーでも、もっと調べてみます。

138:デフォルトの名無しさん
18/02/13 16:59:47.00 KbLCHvlc0.net
サイズ、位置が固定されているウィンドウを外部プログラムから移動、サイズ変更する方法を教えてください

139:デフォルトの名無しさん
18/02/13 20:22:55.89 ElvL/+ZbM.net
とりあえず一般的には
FindWindowやEnumWindowsで目的のウィンドウのウィンドウハンドルを手に入れて
SetWindowPosする
>>133のウィンドウがこれでできるかどうかはそのプログラムの作り次第

140:デフォルトの名無しさん
18/02/13 20:56:39.50 KbLCHvlc0.net
>>134
ありがとうございます
それで移動、サイズ変更できないウィンドウをどうにかできないかなと思い質問してみました
ユーザーが移動サイズ変更できないウィンドウでも強引にしてしまうプログラムがあるらしいので、どうしてるのかな?と

141:デフォルトの名無しさん
18/02/13 21:00:42.72 00bUqpHu0.net
>>135
とりあえず直接のC#の話でなくWinAPIなんだからそっちで調べた方がいいと思うよ

142:デフォルトの名無しさん
18/02/13 21:21:31.71 KbLCHvlc0.net
>>136
ありがとうございます

143:デフォルトの名無しさん
18/02/16 06:01:32.86 W1XJdyx10.net
☆ 日本の、改憲を行いましょう。現在、衆議員と参議院の
両院で、改憲議員が3分の2を超えております。
『憲法改正国民投票法』、でググってみてください。国会の発議は
すでに可能です。平和は勝ち取るものです。お願い致します。☆☆

144:デフォルトの名無しさん
18/04/09 14:21:53.70 hXBdpr6O0.net
厳密に言うとC#の話じゃないんだけど
TcpClientでコネクション使い回しというか
開けっ放しでデータ送り切るって出来ない?
flushしてもデータ残っててCloseしないと全部送られない

145:デフォルトの名無しさん
18/04/09 15:36:40.77 Cpp6LEO80.net
ソースで説明してくれ

146:デフォルトの名無しさん
18/04/09 15:51:30.50 hXBdpr6O0.net
そんな複雑な話じゃないんだ
GetStream()でストリーム取ってWrite()するだろ
でもClose()しないとケツのいくばくかはいつまで経っても送られない
断続的に送りたいから、いちいちClose()してからConnect()やり直すとかしないで済む方法あるか知りたい

147:デフォルトの名無しさん
18/04/09 15:59:29.12 uvdwBq6N0.net
NoDelay=true

148:デフォルトの名無しさん
18/04/09 16:03:49.46 hXBdpr6O0.net
おおサンクスやってみる

149:デフォルトの名無しさん
18/04/16 21:16:34.15 f86xegYk0.net
質問です。
非同期実行について勉強中です。
以下のサイトの内容なんですが、
URLリンク(ufcpp.wordpress.com)
ページ中ほどにある
"スレッド プール実行"

"一方、内側は、スレッド プール上での実行になりますが、スレッド プール上のコンテキストではawaitしてもスレッド プール上のどこかで実行されるだけで、決してUIスレッドには戻らなくなります。"
の意味が理解できません。プール上のどこかで何が実行されるのでしょうか?

また、その下の”問題となる書き方の例”

”Task.Runの中のawaitでは、単一スレッド実行にはならないので、lockが必要になることがあります。”
理解が出来ませんでした。
2連続someTask()は同時に実行されるという意味でしょうか?

150:デフォルトの名無しさん
18/04/16 21:51:32.37 zRE5gkIia.net
スレッドは使い捨ての領域だから、
その中で遅延実行しても戻り値は受け取れないよ
だって戻る領域が数秒後も存在しているか分からないからね
って意味だと思う

151:デフォルトの名無しさん
18/04/16 23:04:11.81 qlfABgAK0.net
マルチスレッドなんて、素人がやるものじゃない。
Ruby を作った、Matz でさえ、何十年もやっていないのに
OS・CPU が今、どのプロセスのどのスレッドの、どの実行コードを実行しているのか、
君のプロセスのスレッドから、わかるわけないでしょ
同期処理じゃないのに。
バラバラに、無関係に動いているのに
逆に言えば、バラバラに動くスレッドの、
現在実行中のコードがわかるのなら、それは同期処理になる

152:デフォルトの名無しさん
18/04/16 23:28:22.82 pnvSaCZFa.net
これがシングルスレッドおじさん再登場の瞬間であった

153:144
18/04/17 06:32:51.54 /3sDS4fX0.net
どうもありがとう

154:デフォルトの名無しさん
18/04/17 08:18:31.78 iJwyhGM3M.net
シングルスレッドだけで出来る仕事って限られてないか。通信なんか絡んだらマルチスレッド必須でしょう。私の現場は.net3.5なんでback|ground work|er使ってるよ。

155:デフォルトの名無しさん
18/04/17 08:24:21.80 AgNOdAZLM.net
>>149
taskって4.0からだっけ?

156:デフォルトの名無しさん
18/04/17 10:03:57.21 iJwyhGM3M.net
>>150
確かそうです。
taskとか使えると楽なんですが4.0強制もできない案件なんで。

157:デフォルトの名無しさん
18/04/17 10:50:32.95 EhGIAhyrd.net
どうしても.net3.5を使わないといけないんだったらRxで処理するわん

158:デフォルトの名無しさん
18/04/17 11:51:31.97 iJwyhGM3M.net
おっ!
いいこと教えてもらった。
Rxってsilverlightだけじゃないんだ。

159:デフォルトの名無しさん
18/04/17 12:18:07.14 xGjbcgxza.net
そんなの使えるなら.NET4だって使えるでしょw
3.5が使えて4が使えないプラットフォームは存在しないと思うけど

160:デフォルトの名無しさん
18/04/17 12:48:49.14 JQ78IAVca.net
そういう問題じゃないんだよ・・・

161:デフォルトの名無しさん
18/04/17 13:03:19.02 iJwyhGM3M.net
お客様のPCがWindows7ならデフォルトで3.5が入ってるでしょう。4.0にしてから使ってくださいとは言いずらい。

162:デフォルトの名無しさん
18/04/17 13:07:10.43 rojjHsw+0.net
ちょっと前までUnityも3.5止まりだったから多少はね?

163:デフォルトの名無しさん
18/04/17 16:37:52.80 joazaAE7M.net
Rxってなんぞや!!

164:デフォルトの名無しさん
18/04/17 17:17:34.43 JQ78IAVca.net
gugure

165:デフォルトの名無しさん
18/04/17 19:00:52.03 F4BOoGzu0.net
ググれは正論だけど、せっかく話題になったんだからここの住民の意見も聞いてみたい。使ってる人の感想とか。

166:デフォルトの名無しさん
18/04/17 19:14:49.95 joazaAE7M.net
せや!Rxについて詳しく

167:デフォルトの名無しさん
18/04/17 19:54:15.01 xGjbcgxza.net
全然関係ないけど、receiveの略が何でRxなのか昔から結構謎

168:デフォルトの名無しさん
18/04/17 20:38:22.07 F4BOoGzu0.net
それ組み込みの世界だね。送信ポートはTxだ。スレチだね。

169:デフォルトの名無しさん
18/04/18 14:53:40.81 ur62Feqwa.net
インストールされている証明書の読み取り、エクスポートをやりたいんだけどさ
ググるといろいろ出てきてX509とかってのを使うと良いとある
まだ実装とか全然なんだけど、この情報だけだと不安なのでだれかやったことのある人いない?
X509Cartificate.Exportはバイトデータを吐き出してそのままファイルに保存できるるっぽいけど、秘密キーを設定したいとかあったりしてモヤモヤしてる

170:デフォルトの名無しさん
18/05/03 18:58:35.37 +FWBwd0JM.net
ワッチョイなしスレが1000行ったからこっちをage

171:デフォルトの名無しさん
18/05/03 18:59:21.23 +FWBwd0JM.net
ageられてなかった…

172:デフォルトの名無しさん
18/05/04 20:04:32.00 hRV05sGM0.net
windowformアプリケーションで
form1 ディスプレイの解像度等を入力する。入力したデータをもとにform2に表示する長方形の大きさ(rx,ry)を算出
form2 form1で算出した(rx,ry)をもとに長方形を表示
ってしたいんだけど
A. rx,ryをpublicで定義してform2.csから参照する
B. form1のrx,ryを求める計算式をクラスにしてform2からインスタンス生成して求める
のどちらがお作法的に正しいんでしょう?

173:デフォルトの名無しさん
18/05/04 20:12:02.30 h17LifXxa.net
データとUIを分離するとして、データ保持と計算用のクラス、formは入力のみ、表示のみって感じになるのかな
でも、まぁそんなのAでもBでもいいだろ
関係ないが解像度ぐらい自動で取得してくれると楽

174:デフォルトの名無しさん
18/05/04 20:14:46.22 QSaueu9Z0.net
なんとなく、こういうのを"お作法"と呼ぶマにはいいイメージがない

175:デフォルトの名無しさん
18/05/04 20:20:22.68 hRV05sGM0.net
>>168
ありがとうございます。
解像度は自動取得なのでディスプレイのoサイズでした。

176:デフォルトの名無しさん
18/05/04 20:22:53.75 hRV05sGM0.net
>>169
すいません。
プログラミング初めて勉強なので、なるべくへんなコーディングしないように可読性高くと考えてまして、
普通はどう描くんだろうなというところが気になって仕方ない。
public変数作りすぎると、後でどこかで変に触るとわけわからんことになるのかなと極力使わないように心がけてます。

177:デフォルトの名無しさん
18/05/04 20:37:07.58 HEa1U9rI0.net
何かフリーソフトを作ってみたくて勉強しているところなのですが、GUI?を学ぶ上で良い本があれば教えていただきたいです

178:デフォルトの名無しさん
18/05/04 20:55:12.49 L0LZvRGB0.net
>>171
フォームは入力の受付と出力の描画だけをする
内部で使うデータはモデル側で持つ

179:デフォルトの名無しさん
18/05/04 21:33:04.91 hRV05sGM0.net
>>173
それでいってみます。
ありがとうございます。

180:デフォルトの名無しさん
18/05/04 21:34:38.54 hRV05sGM0.net
連投すいません。
ユーザー側でフォームのサイズを変えたとしても
常にフォーム右端にボタンを固定する方法ってないでしょうか?

181:デフォルトの名無しさん
18/05/04 21:39:42.44 EvkA5vHv0.net
>>175
ボタンのAnchorのプロパティをTop, Rightに変更

182:デフォルトの名無しさん
18/05/04 22:00:01.60 hRV05sGM0.net
>>176
Anchorって設定があったんですね。
できました!
ありがとうございます。

183:デフォルトの名無しさん
18/05/04 22:18:10.81 hRV05sGM0.net
Form1で作成したmethod1をForm2で使用したい場合どのようにすればいいのでしょう?
Form1.method1();
だとエラーなのですが、form自体がクラスだからインスタンス生成が必要ということでしょうか?
本当に初歩的な質問ばかりですいません。

184:デフォルトの名無しさん
18/05/04 23:14:52.98 hRV05sGM0.net
駄目だ煮詰まってきた。
Visualstudioで新規ソリューションを作成して、既存のソリューションからフォームを追加したのですが、
フォームデザインでは新規フォームが表示されているだけ、.Designer.csを除くときちんとコードが記載されているのですが、
[デザイン]:の画面では反映されておらず、この画面でコントロールを追加などするとエラーがでてビルドできなくなります。
フォームの追加の仕方が間違ってるのかなぁ。

185:デフォルトの名無しさん
18/05/04 23:16:00.99 o0wzY09D0.net
煮詰まる=完成する

186:デフォルトの名無しさん
18/05/05 01:05:27.05 i9GeFih30.net
>>179
エラーの内容は?

187:デフォルトの名無しさん
18/05/05 08:03:54.33 CBIAOUw10.net
>>181
エラー CS0121 次のメソッドまたはプロパティ間で呼び出しが不適切です:
'InitalMonitorSetteing.InitializeComponent()' と 'InitalMonitorSetteing.InitializeComponent()'
エラー CS0111 型 'InitalMonitorSetteing' は、'InitializeComponent'
と呼ばれるメンバーを同じパラメーターの型で既に定義しています。
です。

188:デフォルトの名無しさん
18/05/05 08:08:30.21 CBIAOUw10.net
ソリューションエクスプローラーで
追加→既存の項目
でフォーム一切合切を取り込むと
フォームの[デザイン]タブのところで新規のフォームが表示され、これをいじると上記エラーが出ます。
フォームの[デザイン]タブをいじらなければ正常に実行されます。
.Designer.csを見るときちんとコードが書かれているので
[デザイン]と.Designer.csが一致していない状態になっているようです。

189:デフォルトの名無しさん
18/05/05 08:36:55.68 CBIAOUw10.net
地道に
フォームのデザインすべてコピー貼り付け
コードすべてコピー貼り付け
ってやって追加しました。
なんかネットで見ると、
ソリューションエクスプローラーで
追加→既存の項目
でフォーム一切合切を取り込む
ってやると後々まで得体のしれないエラーに悩まされるので、上の方法を推奨している方がいました。
Visual Studioかフォーム自体の持つバグなんですかね…。

190:デフォルトの名無しさん
18/05/05 08:47:39.95 5nbJxYdYa.net
〜VS2015しか使ってないが俺はエラー起きたことないよ。原因分からないけど、何かやらかしてるんでしょ

191:デフォルトの名無しさん
18/05/05 09:57:21.01 +PUGPCx60.net
無闇にコピペした結果を環境のバグとか
プログラム向いてないよお前

192:デフォルトの名無しさん
18/05/05 10:00:36.87 CBIAOUw10.net
失礼しました。
私がよく理解していないために、しなければいけない作業をしていないのかもしれませんね。

193:デフォルトの名無しさん
18/05/05 10:35:22.91 TTUQSH5zM.net
むしろしちゃいけない作業をしてるような気がする...

194:デフォルトの名無しさん
18/05/05 11:08:14.41 T9f+iK/r0.net
>>178
そもそもこの質問の時点でFormsのコード部分が何をやってるのか理解できてない可能性がある

195:デフォルトの名無しさん
18/05/05 11:25:44.32 qEM4shRT0.net
いきなり難しいことをやろうとするとダメやね

196:デフォルトの名無しさん
18/05/05 11:27:18.98 LtMyhhwZM.net
基礎も身につけずに一端のフリして解決しようとして、半端で折れるバカってのはよく聞く話
とりあえず何か入門書籍に頼って動くものを作れ
話はそれからだ

197:デフォルトの名無しさん
18/05/05 20:20:18.85 xedbZMvy0.net
>>184
情報共有する場所なんだからこういったいいかげんなこと書くのやめてほしいな
まずソースをそのまま取り込みたいのならプロジェクトに追加で何も不具合は起こらない
それでデザイナが反映されないのならDesigner.csを直接書き換え(認識できなくなるような書き換え)やっているはず
あとユーザーコントロールを内部で追加している場合は一度ビルドするとデザイナで反映される
プロジェクトでなくソリューションにソース追加しても当然何も起こらない
最初からふらっとにいけばいいのに

198:デフォルトの名無しさん
18/05/05 20:30:34.54 Tc8hf/iLa.net
WinFormのデザイナは中途半端に内部実行するからしょっちゅうトラブるんだよな
コンストラクタでなんかやってる奴は特に要注意

199:デフォルトの名無しさん
18/05/05 22:08:57.94 1Zee5iE50.net
デザイナかどうか判断するコードを書くのは飽きた

200:デフォルトの名無しさん
18/05/05 22:38:59.04 T9f+iK/r0.net
そんなあなたに!WPF!

201:デフォルトの名無しさん
18/05/05 22:40:45.58 CBIAOUw10.net
フォームをコントロール含めて継承すると継承先でコントロールの編集ができなかったり云々
という書き込みを見たので、
そこで提案されていた新規フォーム作成して
そこにコピペとしてみて結果オーライだったのでそれで良しとしたのですが、
私の方でなにか既存のフォームを取り込むのにまずいことをしてたのかもしれません。
記憶にないけどDesigner.csを直接書き換えしたかなぁ・・・。
フォームで作成するかWPFを使うかを悩んでた時にフォームは放置されたバグが多いと警告されていたので、
単純にバグなのかと思いましたが根拠なくソフトのバグと書き込むのはまずかったですね。
失礼しました。


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

285日前に更新/268 KB
担当:undef