[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 02/22 04:32 / Filesize : 279 KB / Number-of Response : 1018
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

ふらっと C#,C♯,C#(初心者用) Part153



1 名前:デフォルトの名無しさん mailto:sage [2021/12/13(月) 22:53:21.18 ID:dhjmiKBp0.net]
!extend:checked:vvvvv:1000:512
次スレを立てる時は↑を2行冒頭に書くこと(1行分は消えて表示されない為)

「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスや酔っぱらいレスはやめてください
>>980を踏んだ人は新スレを建てて下さい。>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。

■前スレ
ふらっと C#,C♯,C#(初心者用) Part152
mevius.5ch.net/test/read.cgi/tech/1629888256/
■関連スレ
C#, C♯, C#相談室 Part94
mevius.5ch.net/test/read.cgi/tech/1553075856/
■コードを貼る場合は↓を使いましょう。
https://ideone.com/
https://dotnetfiddle.net/
■情報源
https://docs.microsoft.com/ja-jp/dotnet/standard/class-libraries/
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/
https://docs.microsoft.com/en-us/dotnet/standard/class-libraries/
https://referencesource.microsoft.com/
https://source.dot.net/
・Insider.NET > .NET TIPS - @IT
https://www.atmarkit.co.jp/ait/subtop/features/dotnet/dotnettips_index.html
・DOBON.NET .NET Tips
https://dobon.net/vb/dotnet/index.html
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured

591 名前:デフォルトの名無しさん mailto:sage [2022/01/08(土) 10:52:45.90 ID:76ewE+lX0.net]
Webで作るという選択肢はないのかな?
ある程度の規模があるところなら配布やサポートコストまで考えるとWebのほうが安上がり

592 名前:デフォルトの名無しさん mailto:sage [2022/01/08(土) 11:16:30.10 ID:6MOJW9HWM.net]
社内業務アプリの内容によるけど今どきならWebだろうね
サーバーやDBMSの構築すらままならんとかならしゃーないけど

593 名前:デフォルトの名無しさん mailto:sage [2022/01/08(土) 11:21:14.11 ID:eHBvCcl00.net]
クラサバとかの業務システムをWeb化するのはよくある話だが、スタンドアロンで済む
ただのGUIアプリをわざわざWeb化するのは割に合わんと思うがな。
それを上回るなにかメリットがないと。

594 名前:デフォルトの名無しさん mailto:sage [2022/01/08(土) 11:32:33.07 ID:Sgj71hWsa.net]
データをサーバー管理するようなのならまだしも、普通のアプリなら普通に作ったほうが圧倒的に楽

595 名前:デフォルトの名無しさん mailto:sage [2022/01/08(土) 12:01:38.53 ID:6MOJW9HWM.net]
今どき社内業務システムでローカルに閉じてるやつなんてある?

596 名前:デフォルトの名無しさん mailto:sage [2022/01/08(土) 12:13:29.45 ID:qVp9qlx6r.net]
ローカルアプリから直接DB見に行くとかならあるんじゃね
ストアで更新配賦とか夢見たこともあったなあ

597 名前:デフォルトの名無しさん mailto:sage [2022/01/08(土) 12:18:21.83 ID:eHBvCcl00.net]
>>573の業務アプリというのがどういうものかは>>573に聞いてみなけりゃわからんが、
業務で使う内製アプリがスタンドアロンだって例はいくらでもあると思うが。
逆に、なんで無いと思ったの?

598 名前:デフォルトの名無しさん mailto:sage [2022/01/08(土) 12:18:22.15 ID:Sgj71hWsa.net]
社内業務アプリって言ってもいわゆる業務管理システムだけじゃないからな
ローカル完結なんていくらでもある
ちょっとしたツール類なんて全部そうだろ

599 名前:デフォルトの名無しさん mailto:sage [2022/01/08(土) 12:45:29.08 ID:+n5rVMIfd.net]
Web化すべき案件なら最初からそっちで検討してるんだから余計なお世話やで



600 名前:デフォルトの名無しさん mailto:sage [2022/01/08(土) 12:47:06.13 ID:v0nm/uLMM.net]
ツール類って具体的には?
そりや業務端末でも一般的なフリーソフトとか使ってることはあるけど、
業務用に作られたスタンドアロンなツールなんて機器制御関連以外では滅多に見かけないわ
システム連携が不完全なためにローカルなアプリやVBAで局所的な自動化をやってるケースはあるけど、結局その入出力は手動で他と連携するわけで、スタンドアロンとは違うでしょ

601 名前:デフォルトの名無しさん mailto:sage [2022/01/08(土) 12:48:22.96 ID:35B5Rb5B0.net]
スタンドアロンで作るって言ってるのにしつこいな

602 名前:デフォルトの名無しさん mailto:sage [2022/01/08(土) 12:50:35.22 ID:VCGpsaaV0.net]
VisualStudioでデバッグ中に変数やらクラスの中身を追っていくとき
大量にプロパティがあるとアルファベットの後半追うのに
▼で下まで流すのがかなりまどろっこしいんですが
スクロールバーもでないし・・・
もうちょっとスムーズにする方法ってあるんですかね

603 名前:デフォルトの名無しさん mailto:sage [2022/01/08(土) 13:01:28.24 ID:Sgj71hWsa.net]
>>590
テキストファイルの文字数や段落数カウントするだけ
指定したウインドウのスクリーンショットを取るだけ
画像をpngにするだけ
ファイルをリネームするだけ
動画からフレームや動画を切り出すだけ

こういうの実際に作ったツールだな。フリーソフトでもできるけどそういうのも開発することあるんだよ

604 名前:デフォルトの名無しさん mailto:sage [2022/01/08(土) 13:24:30.41 ID:a4nwkm/0M.net]
デスクトップアプリじゃなきゃダメな強い理由がなければ
WinFormならともかく今からWPFとかやるのは無駄だよね

605 名前:デフォルトの名無しさん mailto:sage [2022/01/08(土) 13:25:51.14 ID:a4nwkm/0M.net]
>>592
ウォッチ式?

606 名前:デフォルトの名無しさん mailto:sage [2022/01/08(土) 13:29:23.33 ID:Rc/Af6wIM.net]
>>593
そう言うのを社内業務アプリって言うの?

607 名前:デフォルトの名無しさん mailto:sage [2022/01/08(土) 13:37:12.89 ID:Kbht7+jO0.net]
やっつけアプリ、やっつけツールと言います

608 名前:デフォルトの名無しさん mailto:sage [2022/01/08(土) 13:38:58.06 ID:OnpKeph7a.net]
>>596
仕事に使うなら全部業務アプリだろ
区別する意味はないと思うが

609 名前:デフォルトの名無しさん mailto:sage [2022/01/08(土) 14:16:08.90 ID:sJWr1x2I0.net]
業務といっても何を指すかで見当違いなことを言い合ってたりするからな
ちなみに俺は追記式で容量が10メガ超えるログファイルを待ち時間なしに検索&色分けフィルターするビューアー
が必要だったので作った



610 名前:デフォルトの名無しさん mailto:sage [2022/01/08(土) 14:19:48.42 ID:QfvG5fL40.net]
プロパティの値についてなんですが
値が変わらないプロパティに関しては
Visual Studioの右側のプロパティから変更するのか
それともForm1.csのなかで変更するのどっちが王道でしょうか?

611 名前:デフォルトの名無しさん mailto:sage [2022/01/08(土) 14:22:07.76 ID:LyVlYLKR0.net]
>>600
Visual Studio

612 名前:デフォルトの名無しさん mailto:sage [2022/01/08(土) 14:45:55.87 ID:Sgj71hWsa.net]
変更したってことを把握しにくいからできるだけForm1.csだな

613 名前:デフォルトの名無しさん mailto:sage [2022/01/08(土) 18:25:53.14 ID:W7HGPhnA0.net]
>>595
変数にカーソル合わせてポップアップででてくるクラスや変数の中身がでますよね
デバッグ中にそれで実際に入っている値を追っていくことがよくあるんですが
大量にあるとアルファベット順に並んでいるせいで
たとえば コンボボックスでいうと Selected〜まで見に行くのに
Sまで下りてこなければならないですよね
ポップアップにはスクロールバーもでないから毎回スクロールしないとならなくて
それが面倒で・・・

614 名前:デフォルトの名無しさん mailto:sage [2022/01/08(土) 19:02:53.17 ID:9AShM9M8a.net]
デバッグで実行止めてるときに、デバッグ->ウインドウ->ウォッチでウォッチ1開いて、そこに見たい変数をドラッグ&ドロップ
配列の一部だけ見たいなら.Skip(100).Take(20)みたいに適当なlinqでもつけて

615 名前:デフォルトの名無しさん mailto:sage [2022/01/08(土) 21:28:00.33 ID:WWAiwq7Z0.net]
ArrayクラスのResizeメソッドの引数が参照渡しなのは何故ですか?
他のReverseやSortメソッドが値渡しなので統一されていないと感じてしまうのですが

616 名前:デフォルトの名無しさん mailto:sage [2022/01/08(土) 21:31:36.72 ID:7PajA1910.net]
ReverseやSortは要素を置き換えるだけで済むけど
配列は固定長である以上Resizeするには新しく配列を作り直すしかない

617 名前:デフォルトの名無しさん mailto:sage [2022/01/08(土) 22:55:18.70 ID:W7HGPhnA0.net]
>>604
レスありがとうございます
ウォッチ、使ったことがなくて知らなかったです
クイックウォッチでも簡単に見渡せるんですごく楽になりました
感謝です

618 名前:デフォルトの名無しさん mailto:sage [2022/01/08(土) 23:12:33.36 ID:WWAiwq7Z0.net]
>>606
ありがとうございました
納得しました

619 名前:デフォルトの名無しさん mailto:sage [2022/01/10(月) 02:13:23.67 ID:LmDP/A0i0.net]
.net6だとプロジェクト作成時にいつものusing systemとかが無かったんですけど暗黙的に使えるようになったか、あるいはどっかに記述を引っ越したんですかね?



620 名前:デフォルトの名無しさん mailto:sage [2022/01/10(月) 03:14:56.13 ID:t77ZMTfv0.net]
global usingとかいう迷走の果てみたいなものがあったような覚えがある

621 名前:デフォルトの名無しさん mailto:sage [2022/01/10(月) 16:59:27.76 ID:9R5shyc4d.net]
>>609
.csproj見てみ

622 名前:デフォルトの名無しさん mailto:sage [2022/01/10(月) 18:05:28.98 ID:LmDP/A0i0.net]
>>611
Implicitusingsってやつですか
このglobal usingってのはユーザが任意に追加できるんですかね?.net標準分だけ?標準だけだと有り難みがイマイチ・・・

623 名前:デフォルトの名無しさん mailto:sage [2022/01/10(月) 18:14:37.58 ID:Fbfc1ztE0.net]
implicitなのはSDKで固定のはず
global using自体は.csprojに自由に書けるよ
https://ufcpp.net/blog/2021/11/implicitusings/

624 名前:デフォルトの名無しさん mailto:sage [2022/01/10(月) 18:32:28.44 ID:Fbfc1ztE0.net]
というか.csにも普通に書けるよ

625 名前:デフォルトの名無しさん mailto:sage [2022/01/10(月) 19:26:41.39 ID:mJ9SvVvR0.net]
というか.txtにも.hogeにも普通に書けるよ

626 名前:デフォルトの名無しさん mailto:sage [2022/01/10(月) 19:32:53.98 ID:Yn6t3tioM.net]
>>614
書けるけど1つに書くと全ファイルに影響するのは怖くね?
なんかやりすぎ感ハンパない

627 名前:デフォルトの名無しさん mailto:sage [2022/01/10(月) 20:21:18.79 ID:mJ9SvVvR0.net]
>>615
悪ふざけじゃなくて、書いたらちゃんと認識されるよって意味ね。

628 名前:デフォルトの名無しさん mailto:sage [2022/01/10(月) 21:15:40.34 ID:zf/OU/S30.net]
え、readme.txtとかに書いてても影響しちゃうの?

629 名前:デフォルトの名無しさん [2022/01/10(月) 22:20:21.82 ID:pzAlxVbU0.net]
何度も同じことを書かせる仕組みはプログラムの基本的な考えと違うと考えればglobal usingは妥当



630 名前:デフォルトの名無しさん mailto:sage [2022/01/10(月) 22:45:07.71 ID:zjcR70ev0.net]
global usingもあれば楽だけど書ける場所は限定された方が良かったような

631 名前:デフォルトの名無しさん mailto:sage [2022/01/11(火) 06:33:56.47 ID:TdDX7t/9M.net]
>>619
それなら.csprojとかでいいでしょ
どこかに書いたら全体に影響するのはなんか違う

632 名前:デフォルトの名無しさん mailto:sage [2022/01/11(火) 07:14:14.80 ID:qLFRpNWYM.net]
もうあっちゃう時点でキモいから書けるなら制限なしでいいでしょ

633 名前:デフォルトの名無しさん mailto:sage [2022/01/11(火) 08:18:04.81 ID:34v9AEL90.net]
VS2022からC#やる人は結構わかりにくいやろなぁ。
なぜimportもusingもなにも書いてないのに、Console.Writel...
みたいにいきなり書けるのみたいな。

グローバルにいきなり書いてるがクラスに属さないグローバル変数はあるのないのとか。

634 名前:デフォルトの名無しさん mailto:sage [2022/01/11(火) 09:25:26.02 ID:7v4JZSk/0.net]
えーーーんTT
Console Programつくろうとしたらmain()がないよー><
なにこれ、こわい><
たすけてー

635 名前:デフォルトの名無しさん mailto:sage [2022/01/11(火) 09:36:34.63 ID:qBZtvv4T0.net]
従来のようなプロジェクトテンプレートでもプロジェクトを作れるようなオプションなりテンプレートなりあればいいのにね
テンプレートぐらい自分で作れって?面倒じゃん

636 名前:デフォルトの名無しさん mailto:sage [2022/01/11(火) 11:21:28.14 ID:MvizqUHc0.net]
>>625
.NET 5.0をターゲットにプロジェクト作成してから.NET 6.0にターゲット変更する
https://docs.microsoft.com/ja-jp/dotnet/core/tutorials/top-level-templates#use-the-old-program-style

637 名前:デフォルトの名無しさん mailto:sage [2022/01/11(火) 11:57:17.32 ID:7v4JZSk/0.net]
C#作ってる人たちはC#をスクリプトにしたいの??
何を目指してるのかよくわからない

638 名前:デフォルトの名無しさん mailto:sage [2022/01/11(火) 12:22:25.87 ID:4qGoqi+ca.net]
なんでもできることを目指してるんだよ
もちろんスクリプトとしても使えるぞ。アプリの拡張プラグインをc#スクリプトにするとか簡単にできる

639 名前:デフォルトの名無しさん mailto:sage [2022/01/11(火) 13:10:40.24 ID:Grp1ZbCtM.net]
>>627
IDEによるコード生成を完全に排除しようとしている、と考えると理解しやすい
最近の内製系の開発では、コードの自動生成は避けてソースを極力コンパクトに保とう、という考え方が主流になっているんだよ



640 名前:デフォルトの名無しさん mailto:sage [2022/01/11(火) 13:50:01.49 ID:luTEChNva.net]
何で自動生成やめたらコードがコンパクトになるの?
そんなわけないと思うんだけどw

641 名前:デフォルトの名無しさん mailto:sage [2022/01/11(火) 13:58:30.81 ID:/T2lNEPNM.net]
コードの自動生成と言うか簡便さを求めてるのだろう
他の簡易な言語と比べると不必要な部分があるからそれを簡略化する

ボイラープレート(決まり切った特定のコードの記述 )やおまじないのような入門者にとって敷居の高いものを減らす
それ自体は問題ないはず

C#は言語的に無駄な記述が多すぎたから一気に来たんだろうな

642 名前:デフォルトの名無しさん mailto:sage [2022/01/11(火) 14:02:02.73 ID:/T2lNEPNM.net]
ファイル内のnamespaceは一個なのにそのためにインデントが一つ増えてエディタでのコードが見通しが悪くなる
こんなの早くから導入してくれと思ってた

643 名前:デフォルトの名無しさん mailto:sage [2022/01/11(火) 14:14:24.58 ID:Jt6jcb4u0.net]
てかusingみたいに冒頭宣言みたくできればよかったのにな

644 名前:デフォルトの名無しさん mailto:sage [2022/01/11(火) 14:35:22.28 ID:8rbbEYvA0.net]
>>629
コードの自動生成はむしろ最近より進んでるやろ
gRPC周りやソースジェネレーターなんてその最たるもの

645 名前:デフォルトの名無しさん mailto:sage [2022/01/11(火) 14:56:40.93 ID:luTEChNva.net]
>>631
それってVBの思想だよねw
ただしい選択とは思えんな

646 名前:デフォルトの名無しさん mailto:sage [2022/01/12(水) 00:03:33.81 ID:3DcpczOy0.net]
スクリプトとしては異常に使いにくいよ、
特にアプリのプラグインとしては致命的。
やったことあるひとならわかるよね。

スクリプトだろうと1回実行したら、そのクラス型は解放されないから。
.netは型生成してしまうと、そのクラス型は基本的にアプリ終わるまで解放されない、
間違ったと思ってクラス型の部分のスクリプト変更して再実行しても反映できないのよ、アプリ終了しないと
クラス型が解放されないから。

647 名前:デフォルトの名無しさん [2022/01/12(水) 04:14:45.93 ID:qMg3RrrS0.net]
コンパクトに書けるようになっていくのはいいと思う
元のC#は長く書くことを是としていたようで他の言語と比べると見栄えが悪い

648 名前:デフォルトの名無しさん mailto:sage [2022/01/12(水) 10:32:03.61 ID:2Wvp4VJl0.net]
C#はいいんだけど、ASP他諸々がなあ
Authorize入れるのも一苦労

649 名前:デフォルトの名無しさん mailto:sage [2022/01/12(水) 13:15:42.75 ID:++K/dCbX0.net]
何に比べてどう苦労するの?



650 名前:デフォルトの名無しさん mailto:sage [2022/01/12(水) 15:39:18.51 ID:BLJCWDpKa.net]
>>636
作り方しだいだけどアプリ終了しなくても
スクリプト実行&終了→スクリプトファイル書き換え→スクリプト実行で書き換えた編集が反映されるよ
開放されないってのと反映されないってのは別問題でしょ

651 名前:デフォルトの名無しさん mailto:sage [2022/01/12(水) 18:17:31.66 ID:C1xp3kdWM.net]
おれはC#とASP.NET Core WebAPIが最もやりやすい
フロントは流石にReactとか使ったほうが楽だがJSもAltJSも罠だらけで洗練されてないね

652 名前:デフォルトの名無しさん mailto:sage [2022/01/12(水) 22:52:04.20 ID:JXqJfbQh0.net]
>>636
まさにクラスを書き換えて実行するのをやってるけど
そんな現象に出くわしたことがないぞ?

653 名前:デフォルトの名無しさん mailto:sage [2022/01/13(木) 06:18:56.80 ID:hEm3mWj0M.net]
>>642
糞アプリの名前も書けない無能の相手すんなよ

654 名前:デフォルトの名無しさん [2022/01/13(木) 18:48:22.57 ID:OK31jUfcd.net]
質問です。
ピクチャーボックスに描画された物をボタン投下で色を印刷用に変更したいです。
元は背景色黒。線は水色。文字は黄色。四角は緑色塗りされてる物を
背景色白、四角は外枠黒線白塗り、他黒に変更したいです。

これを参考に弄って、背景色は直変更し、線は無事変更、文字は滲んだ感じになり、ほかはそのままでした。
https://dobon.net/vb/dotnet/graphics/setremaptable.html

こんなのやるなら色を再設定して再描画した方が早いですかね?
イメージ的にはCADで書いてる物を印刷時に白黒反転するみたいな感じなんですが。

655 名前:デフォルトの名無しさん mailto:sage [2022/01/13(木) 19:01:26.19 ID:Lka/sttda.net]
>>644
印刷の品質の観点から言っても「ビットマップを流用する」
という発想自体が不適切で、「描画処理を流用する」べきでしょうね。

656 名前:デフォルトの名無しさん mailto:sage [2022/01/14(金) 07:06:02.10 ID:uASM5+QH0.net]
.net 6の Windows Forms の TreeView のサブクラスを作ったのですが、
サブクラスでOnMouseDownをオーバーライドすると動くのに、OnMouseClickをオーバーライドしても動きません。
何が原因でしょうか?

657 名前:デフォルトの名無しさん mailto:sage [2022/01/14(金) 09:52:38.44 ID:Wn0kK1te0.net]
そもそもTreeViewのMouseClickはノードのある行の部分しか発生しないけど
ノード上でクリックしても反応しないの?

658 名前:デフォルトの名無しさん mailto:sage [2022/01/14(金) 23:45:25.88 ID:8g6TvuWW0.net]
こういう実装の隠蔽ってありだと思う?
https://ideone.com/XNNgQM

リポジトリクラスでしか使わないキークラスを外部から勝手に生成されたくないっていう着想なんだが、
特定のクラスからのみメソッド叩かせたいときとかにも使えそうな気はする
雁字搦め感は出てるし、将来の健忘症になった俺が手を付けてしまう恐れも減るしでメリットはある
ただぶっちゃけちまうとinternalで十分では?と他でもない俺自身が思ってしまった

659 名前:デフォルトの名無しさん [2022/01/15(土) 00:11:45.90 ID:TZiSYT8I0.net]
質問させてください

using System.Collections.Generic;

class TestEnumerable
{
static public Ienumerable FromTo()
{
yield return 1;
yield return 3.14;
}

static void Main(string[] args)
{
foreach(var I in FromTo())
{
Console.Write(I);
}
}
}

上記のようなコードがあった場合
yield return1を表示、続きから実行されて
yield return3.14を表示すると思うのですが
そのあと、メソッドが終了した場合の処理がイメージできません

FromTo()メソッドが終了した後は何か値がreturnされるのでしょうか?
FromTo()メソッド終了時の挙動の詳細を教えてほしいです



660 名前:デフォルトの名無しさん mailto:sage [2022/01/15(土) 00:15:49.41 ID:Fo59HrKfa.net]
CreateProxyをpublicにしないとエラーになるんじゃないかな

661 名前:デフォルトの名無しさん mailto:sage [2022/01/15(土) 00:20:28.44 ID:dZ7wz90eM.net]
yieldを使ってるメソッドの末尾には
「yield break」が暗黙のうちに挿入される、みたいなイメージをもっておけばいいんじゃないかな

662 名前:デフォルトの名無しさん mailto:sage [2022/01/15(土) 00:35:37.46 ID:RH/JKl1ia.net]
>>650
そんなページ開いたらダイレクトに書いてあることを指摘されたいわけじゃないんだ
ニュアンス通じれば良いかなって思いながらも一応直したんだけど張るURLを間違えたんだよ

663 名前:デフォルトの名無しさん mailto:sage [2022/01/15(土) 01:00:14.09 ID:e/r7AWqZ0.net]
は?

664 名前:デフォルトの名無しさん mailto:sage [2022/01/15(土) 01:05:14.25 ID:mkRG7Oi7a.net]
>>649
メソッドのシグネチャのみたまんま
FromToはIEnumerableを返すのであって1とか3.14を返すんじゃない。

何言ってるのか理解できなかったら川俣さんの記事のイテレーターの
説明でも読んでもらった方が早いよ。

665 名前:デフォルトの名無しさん mailto:sage [2022/01/15(土) 01:10:18.60 ID:JIhdD5Fq0.net]
>>648
キークラスから派生してリポジトリクラスって構造が変
駄目な継承の使い方だと思う

666 名前:デフォルトの名無しさん mailto:sage [2022/01/15(土) 01:25:11.79 ID:z3QAlxXC0.net]
>>655
キー生成クラスだぞ?

本来リポジトリ内部で生成するものなのに基底に置いては駄目とは何ぞ

667 名前:デフォルトの名無しさん mailto:sage [2022/01/15(土) 01:43:23.33 ID:JIhdD5Fq0.net]
>>656
この場合は継承(is-a)ではなく包含(has-a)にすべき

668 名前:デフォルトの名無しさん mailto:sage [2022/01/15(土) 01:57:04.48 ID:mkRG7Oi7a.net]
>>648
VBは確か型Bが型Aの内側で定義されている時、
BのインスタンスをAが握っているとBのprivateメンバーに
アクセスできる裏技があった気がしたんでVBならそれを使う手はあったかも。

試してみたらやはりC#ではできないw

669 名前:デフォルトの名無しさん mailto:sage [2022/01/15(土) 02:01:13.57 ID:mkRG7Oi7a.net]
まあセキリティー的な目的じゃなく単なる精神衛生の問題なら
単純にKeyのコンストラクタをprivateにして必要な個所ではリフレクションで使えばいいよね



670 名前:デフォルトの名無しさん mailto:sage [2022/01/15(土) 02:49:41.70 ID:mkRG7Oi7a.net]
「早い者勝ち」にしちゃうのもありかなとか思った。いやねーかw
public class Key
{
  public int Value { get; private set; }
  private static int serial = 0;
  private static Func<Key> func = () => new Key(serial++);

  private Key(int val)
  {
    Value = val;
  }

  public static Func<Key> GetCreator()
  {
    var ret = func; func = null;
    return func;
  }
}

671 名前:デフォルトの名無しさん mailto:sage [2022/01/15(土) 03:06:56.37 ID:ccrjJyGq0.net]
>>649
関数内にyield returnがあったらイテレータブロック扱いになって普通の関数じゃなくなる

IEnumerable<T>の約束通り、Tの要素を返してって終端がきたらおわり

672 名前:デフォルトの名無しさん mailto:sage [2022/01/15(土) 11:19:56.44 ID:6qmp/Z4R0.net]
>>649
FromTo()が返すのはIEnumerable

foreachは大雑把に言えば↓に展開される
var iterator = FromTo().GetEnumerator();
while (iterator.MoveNext()){
var I = iterator.Current;
Console.WriteLine(I);
}

イテレータとかイテラブルでググるといい
.NETの型名だとIEnumrator<T>とIEnumerable<T>

673 名前:デフォルトの名無しさん mailto:sage [2022/01/15(土) 12:29:33.15 ID:mY1vrnaaM.net]
>>651 有能
>>654,662 無能、聞きたいのはお前のチンケな知識じゃねーよ

674 名前:デフォルトの名無しさん mailto:sage [2022/01/15(土) 13:44:23.87 ID:agiarv77a.net]
>>663
馬鹿だねこいつw
質問した人と別人みたいだけど

675 名前:デフォルトの名無しさん mailto:sage [2022/01/15(土) 14:20:07.42 ID:XKyr/S8qM.net]
馬鹿としか言えない無能w

676 名前:デフォルトの名無しさん mailto:sage [2022/01/15(土) 14:24:42.58 ID:6Adwrh4F0.net]
今週のNDワッチョイ
ドコグロ MM4f-KcIn

677 名前:デフォルトの名無しさん [2022/01/15(土) 14:48:33.55 ID:6bjOtxZz0.net]
WindowFormでTimerクラスを使ってlabelのTextを定期的に変更したのですが
「有効ではないスレッド間の操作」ということでエラーになってしまいます。
どのようにすれば実現できるでしょうか?

public Form1()
{
InitializeComponent();

var timer = new System.Timers.Timer();
timer.Elapsed += new ElapsedEventHandler(OnElapsed_TimersTimer);
timer.Interval = 5000;

timer.Start();
}

private void OnElapsed_TimersTimer(object sender, ElapsedEventArgs e)
{
label1.Text = "1";
}

678 名前:デフォルトの名無しさん mailto:sage [2022/01/15(土) 14:53:57.88 ID:OfoSB/Yx0.net]
>>667
Timerには何種類かあって
WinFormsならSystem.Windows.Forms.Timerクラスを使うのが簡単

679 名前:デフォルトの名無しさん mailto:sage [2022/01/15(土) 14:56:31.51 ID:2bsBwYtoa.net]
スレッド間の〜は
Invoke((MethodInvoker)delegate{処理});
ってやればわんちゃん



680 名前:デフォルトの名無しさん [2022/01/15(土) 16:08:48.34 ID:6bjOtxZz0.net]
Windows.Forms.Timerクラスでやりたいことができました!
後学のため、Invokeも調べたいと思います
ありがとうございます

681 名前:デフォルトの名無しさん mailto:sage [2022/01/15(土) 20:02:17.15 ID:XKyr/S8qM.net]
>>666
黙ってNGできない無能w

682 名前:デフォルトの名無しさん mailto:sage [2022/01/16(日) 04:00:49.97 ID:az6Mfsfa0.net]
OpenCVSharp入れたらexeのフォルダがdllだらけになったんですが、
これ全部リリースの時にこのまま一緒に渡さないといけないんですか?
exe1個にまとめられないんですか?

683 名前:デフォルトの名無しさん mailto:sage [2022/01/16(日) 07:00:20.21 ID:DVPU1vQA0.net]
>>672
単一ファイルの配置と実行可能ファイル
https://docs.microsoft.com/ja-jp/dotnet/core/deploying/single-file

684 名前:デフォルトの名無しさん mailto:sage [2022/01/16(日) 10:03:18.59 ID:gWCKJdmK0.net]
ネイティブじゃね?

685 名前:デフォルトの名無しさん mailto:sage [2022/01/16(日) 10:19:22.15 ID:1ZlPRUHva.net]
インストーラーのexeひとつ渡せばおk

686 名前:漆黒の翼 mailto:sage [2022/01/16(日) 20:01:08.59 ID:VfeV/Qg80.net]
教えていただきたいのですがWindowsでc#のプログラムが落ちた時にメモリダンプを吐くようにするにはどうすればいいのでしょうか?

よろしくお願いいたします

687 名前:デフォルトの名無しさん mailto:sage [2022/01/16(日) 20:14:28.43 ID:8g0F/aL60.net]
メモリダンプ吐くと何かわかるん?

688 名前:漆黒の翼 mailto:sage [2022/01/16(日) 20:18:34.35 ID:VfeV/Qg80.net]
>>677
メモリダンプをvisual studioに食わせるといろいろ分かります!!

689 名前:デフォルトの名無しさん mailto:sage [2022/01/16(日) 20:19:29.37 ID:el47HiNu0.net]
メモリダンプを解析できない人たちのスレですよ、ここは。



690 名前:デフォルトの名無しさん mailto:sage [2022/01/16(日) 20:22:15.01 ID:F2RYBHf20.net]
明らかに"初心者用"の範疇を超えているよね

691 名前:デフォルトの名無しさん mailto:sage [2022/01/16(日) 20:34:12.82 ID:T486FPBl0.net]
C#でゲロ吐く方法はしらん
Windows Error Reportingで取得するはずなので、呼び出せば行けるかもしれない






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<279KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef