[表示 : 全て 最新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

282 名前:デフォルトの名無しさん mailto:sage [2021/12/31(金) 19:07:51.75 ID:ApQoIWIb0.net]
Svelte使うスタンドアロンアプリってのは興味深い。

283 名前:デフォルトの名無しさん mailto:sage [2021/12/31(金) 19:11:37.16 ID:DclmO4XRd.net]
>>278
C++/CLIだったら変に集中管理とかしないで普通にRAIIなラッパークラス作ればよくね

284 名前:デフォルトの名無しさん mailto:sage [2021/12/31(金) 19:18:48.86 ID:FNrpfdyG0.net]
>>279
それ自体は既にある。
WebView2でやるのがちょっと面倒なだけで。
https://dev.to/khangnd/build-a-desktop-app-with-electron-and-svelte-44dp

285 名前:デフォルトの名無しさん mailto:sage [2021/12/31(金) 20:06:32.82 ID:ApQoIWIb0.net]
それでどこまで楽になるのか興味深かったんだが

>WebView2でやるのがちょっと面倒なだけで。

本末転倒やん

286 名前:デフォルトの名無しさん mailto:sage [2021/12/31(金) 20:09:14.87 ID:+14EUf560.net]
楽なのはVB6、winformあたりが限界で
それ以上何かやろうとしてもどんどん面倒になるだけだな。

287 名前:デフォルトの名無しさん mailto:sage [2021/12/31(金) 20:11:29.60 ID:FNrpfdyG0.net]
>>282
お前は本当に何も理解してないんだな。
WPFでつくる方がよっぽど面倒なんだよ、そもそも。
BlendとモックのDLL使ってコントロール作って貰ってたのが、Web技術で作って貰えるだけでも相当工数下がるの。
デザイナー×制作にでも作れるんだから。

288 名前:デフォルトの名無しさん mailto:sage [2021/12/31(金) 20:12:57.99 ID:FNrpfdyG0.net]
>>283
MSがあれだけBlendを振り回して叫んでた「デザイナーと技術者で役割分担」という絵空事を解決したのは結局これというね。

289 名前:デフォルトの名無しさん mailto:sage [2021/12/31(金) 20:14:09.02 ID:+14EUf560.net]
昔はASP案件が多かったから経験ある人はWEBまわりの学習コストが下がるがWPFはね。

290 名前:デフォルトの名無しさん [2021/12/31(金) 20:26:28.10 ID:AHpR20H50.net]
このスレは能力低い人が多いからWinForms以外をすすめても意味がない
あれしか理解できない



291 名前:デフォルトの名無しさん [2021/12/31(金) 20:29:05.37 ID:F5O9+7Cr0.net]
WinFormsで事足りる案件をそれ以上でやる意味なんてないからな

292 名前:デフォルトの名無しさん mailto:sage [2021/12/31(金) 20:47:01.32 ID:ScgFuRuP0.net]
なんかwinformに一族を滅ぼされた人がいるっぽいな

293 名前:デフォルトの名無しさん mailto:sage [2021/12/31(金) 20:54:49.37 ID:ApQoIWIb0.net]
>WPFでつくる方がよっぽど面倒なんだよ、そもそも。
>BlendとモックのDLL使ってコントロール作って貰ってたのが、Web技術で作って貰えるだけでも相当工数下がるの。

つまりhtml+jsの方が楽ってのはこういうふうにカスタムコントロールを作る前提での話なのかい?
それとも、それがなくてもhtmlの方が簡単っていうことなのかい?
こんなふうにどんどん後付け条件が出てくると話が迷走していけない。

294 名前:デフォルトの名無しさん mailto:sage [2021/12/31(金) 20:59:35.03 ID:FNrpfdyG0.net]
>>290
ほとんど全ての場合だよ。
カスタムコントロール作らない事の方が珍しいだろ。ペタペタと直接、素のコントロール置いて作ってるとか狂気の沙汰じゃん。
後付け条件も何も俺は最初からその想定で言ってる。
お前がどんどん原始的な例ばっかり挙げて後付け条件出してるんでは?

295 名前:デフォルトの名無しさん mailto:sage [2021/12/31(金) 21:04:02.72 ID:+14EUf560.net]
コモンコントロール以上の何かがほしいってそれはもうRICHなGUIですよ。
アナログメーターだのバーコードだのね。

296 名前:デフォルトの名無しさん [2021/12/31(金) 21:13:20.91 ID:2Zk/vij+0.net]
>>289
それはお気の毒に。
仇討ちするなら助太刀いたしますぞ。

297 名前:デフォルトの名無しさん mailto:sage [2021/12/31(金) 21:48:59.01 ID:M0GZ3VlB0.net]
WPFは結局見た目重視の癖に他のデザインツールとの連携がゴミカスだったからな
お前に食わせられるデータって何のアプリで作れるの?っていう根本的な問題が解決しない

298 名前:デフォルトの名無しさん mailto:sage [2021/12/31(金) 22:31:41.34 ID:DunWig+Gr.net]
flutterみたいにGUIが整備されていればいいだけなのにマイクロソフトには作れないのか
https://codezine.jp/article/detail/15063

299 名前:デフォルトの名無しさん mailto:sage [2021/12/31(金) 23:02:04.13 ID:M0GZ3VlB0.net]
つか、データ内容から言ってイラレとの連携が必須なのにそこの対応がおざなりなのがいけない
そして見た目にこだわらせるツールなら
全コントロールカスタマイズ可能にしろ

もちろんイラレのデータで

これができんからwebview2なんて使ってんだろそいつも

300 名前:デフォルトの名無しさん mailto:sage [2021/12/31(金) 23:38:40.48 ID:FNrpfdyG0.net]
なんでイラレなの?XDとかFigmaとかでは?
Storyboardで見ながら全カスタマイズ出来て当然かと。
デザイナーや制作にもそれができるからWebView2とかelectron使うんだが。



301 名前:デフォルトの名無しさん mailto:sage [2022/01/01(土) 00:03:57.34 ID:s/VzubKG0.net]
>>297
いや、俺が最近のツール知らんだけ

まあ、アドビ製品で作れないと辛いと思うなってことで

302 名前:デフォルトの名無しさん mailto:sage [2022/01/01(土) 00:04:02.95 ID:s/VzubKG0.net]
>>297
いや、俺が最近のツール知らんだけ

まあ、アドビ製品で作れないと辛いと思うなってことで

303 名前:デフォルトの名無しさん mailto:sage [2022/01/01(土) 00:05:29.75 ID:pK4dI97g0.net]
>>298
最近はAdobe製品あんまり人気ないよなって感じしてる。
デザイナーの人、だいたいFigmaかなぁ。人によっては直でCSS書いてくるよ。

304 名前:デフォルトの名無しさん [2022/01/01(土) 05:34:40.61 ID:zdHw19Xx0.net]
>>292
メーターはCommunity Toolkitにあるな

305 名前:デフォルトの名無しさん mailto:sage [2022/01/01(土) 08:49:17.03 ID:pK4dI97g0.net]
このあたりが出来るのが楽。
https://observablehq.com/@d3/zoomable-sunburst

JSのエコシステムは割と手厚くて、結構色々できる。
変わり種だと最近はこれも使った。今までだったら相当大がかりな仕組みになってた。
https://modelviewer.dev/

IEベースのWebViewだったら出来なかったんよね、これ。

306 名前:デフォルトの名無しさん mailto:sage [2022/01/01(土) 16:57:15.57 ID:cbVZORXia.net]
何の話で盛り上がってるんだっけ?

結局MSは今後デスクトップは何使えって言ってるんだっけ?
もうWin32を追放してUWPで統一する計画は頓挫してたよね?

307 名前:デフォルトの名無しさん mailto:sage [2022/01/01(土) 17:38:08.24 ID:lDil4oeBr.net]
MSは何も示せなくてユーザーたちが独自になんとかしようともだえてる

308 名前:デフォルトの名無しさん mailto:sage [2022/01/01(土) 17:52:27.24 ID:cbVZORXia.net]
>>304
やっぱりあいかわらずそうなんだね。
今後はこういう展開をしていきます、みたいなの(横文字で何って言ったっけ?)
も一切ないんだっけ。

309 名前:デフォルトの名無しさん mailto:sage [2022/01/01(土) 17:56:51.18 ID:gOXFnTf60.net]
UWPってアレ結局なんなん?
MSのうさんくさい説明見ても正体がさっぱり掴めんわ

ちなXAML使い

310 名前:デフォルトの名無しさん mailto:sage [2022/01/01(土) 19:05:01.23 ID:Je/lt7i4a.net]
>>302
IEコンポーネントは初期設定がIE6になってるだけで、その制限解除するだけで使えるんじゃないのかな?
設定しないと使えないのは多かったけど、設定して使えないものがあった覚えはないな



311 名前:デフォルトの名無しさん mailto:sage [2022/01/01(土) 19:09:06.13 ID:pK4dI97g0.net]
>>307
IEコンポーネントはパフォーマンス悪すぎて大変だったんよ。本当に悪かった。
WebGL 2.0は全くダメだし。
そしてごく最近の記法が使えないので、古い書き方で苦労するかトランスパイラで相当トランスパイルしないといかんのだけど、これもこれで大変。

312 名前:デフォルトの名無しさん mailto:sage [2022/01/01(土) 19:38:20.84 ID:FXZWUiqn0.net]
そういえば、IEのコンポーネントって他プロセスから普通にDOM掴めたけど今のはそんなこと無いよな、さすがに。

313 名前:デフォルトの名無しさん [2022/01/02(日) 02:26:12.88 ID:XjOyUWVU0.net]
>>308
VML使えや

314 名前:デフォルトの名無しさん mailto:sage [2022/01/02(日) 08:39:01.25 ID:i8dUNFkB0.net]
>>309
今のIE11でも変わらない。Chromium Edgeは無理。

315 名前:デフォルトの名無しさん mailto:sage [2022/01/03(月) 00:27:24.71 ID:qrnm2syfM.net]
結局DelphiやVB6を超えられなかったね

316 名前:デフォルトの名無しさん mailto:sage [2022/01/03(月) 09:45:55.35 ID:eQW2AhJK0.net]
ということにしたいのですね

317 名前:デフォルトの名無しさん mailto:sage [2022/01/03(月) 09:53:42.79 ID:Nty+tcHi0.net]
もったいないので私にください

318 名前:デフォルトの名無しさん mailto:sage [2022/01/03(月) 10:54:19.16 ID:SmC4rDQma.net]
はつみみです。

319 名前:デフォルトの名無しさん mailto:sage [2022/01/03(月) 13:30:35.98 ID:lKbCt2OW0.net]
C#でNewtonsoft.Jsonを使用して
[272,1496922300000,1496934000000,"Y3913",true,"XA","XA","HSZ-HAC","HAC-DFS-WCY",1496913600000]
のようなJSONを作成できますか?
(数値と文字列の混合配列)

320 名前:デフォルトの名無しさん mailto:sage [2022/01/03(月) 13:46:53.86 ID:AMytSBf5a.net]
名前なしのカンマ区切りだったらそれはcsvとして処理した方がはやいんじゃないのか



321 名前:デフォルトの名無しさん mailto:sage [2022/01/03(月) 14:44:00.30 ID:5Qqik4MO0.net]
>>316
全部文字列でいいじゃん

322 名前:316 mailto:sage [2022/01/03(月) 15:23:04.22 ID:lKbCt2OW0.net]
echartsのガントチャートのデモです。
https://echarts.apache.org/examples/en/editor.html?c=custom-gantt-flight

このデモ用のデータが
https://echarts.apache.org/examples/data/asset/data/airport-schedule.json
なんですが、これをバックエンドのC#から渡したいのです。

>>316はJSON構造の一部で、他に名前付きのデータも渡します。
なのでCSVはそぐわないかと思われます。

323 名前:デフォルトの名無しさん mailto:sage [2022/01/03(月) 16:42:23.19 ID:JMA8ZT+Nd.net]
>>319
CSV一行分をjsonのValueとして持てばいいんだよ

324 名前:デフォルトの名無しさん mailto:sage [2022/01/03(月) 17:00:56.51 ID:0xi3No7I0.net]
var objs = new {
hoge = "hoge",
fuga = new object[] { 272, 1496922300000, "Y3913", true, "XA" },
};
var json = JsonConvert.SerializeObject(objs);
できない理由はないけどなんか他に条件とかありそうでアレだな

325 名前:デフォルトの名無しさん mailto:sage [2022/01/03(月) 18:09:00.90 ID:lKbCt2OW0.net]
>>321
おお、出来るんですね。
ありがとうございます、試してみます

326 名前:デフォルトの名無しさん mailto:sage [2022/01/03(月) 18:12:39.51 ID:TMV+x4l+0.net]
var json =

結局何の型だよってイライラくるよね

327 名前:デフォルトの名無しさん mailto:sage [2022/01/03(月) 18:57:22.48 ID:GjMIBEAT0.net]
>>323
Visual Studioだとvarの上にカーソル持っていったら型が表示されるだろ

328 名前:デフォルトの名無しさん mailto:sage [2022/01/03(月) 20:14:18.47 ID:pwAwOJBp0.net]
var: 無能発見機

329 名前:デフォルトの名無しさん mailto:sage [2022/01/03(月) 22:52:28.05 ID:TMV+x4l+0.net]
型が分からなくてもソースが読み書きできる人が羨ましいわ。
どういう脳の論理構造してるのだろう。分からないまま読み進めるとかイライラしないの?

昔、『菊次郎の夏』って映画見て、映画見ながら、だから菊次郎って誰だよ?って
最後までイライラして発狂しそうになったの思い出したわ。ほんと糞な脚本だと思ったわ。

330 名前:デフォルトの名無しさん mailto:sage [2022/01/03(月) 22:59:05.73 ID:/qjDMXVn0.net]
右辺見ろよ



331 名前:デフォルトの名無しさん mailto:sage [2022/01/03(月) 23:54:17.33 ID:/ROio/0MM.net]
インテリセンスとAPIデザインが優秀って前提はあるだろうね
適当に.で繋げてけばなんとなくコードが出来上がる
間違ったらコンパイルエラーになる
だったらもうそれで型名は書かなくてもいいじゃない

型付スクリプト言語はその辺がまだまだ雑魚なんで型名をしっかり書かないと間違えるようにできてる

332 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 00:14:59.85 ID:fY9OVGa4a.net]
>>326
いや、型がメソッド名や右辺式から推測しづらいと思ったら
var使うなという方針は基本的には間違ってないと思うよw

333 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 00:16:29.87 ID:2Grj8syS0.net]
>>326
なんでvarの上にカーソル持って行かないの?

334 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 00:23:52.35 ID:ufcanjsed.net]
>>330
俺はvar推奨派だが、コードレビューでGitHub上で読むとかあるだろ?
コード工の数が多いといちいち全部pullしてVSで開くとかやってられない

335 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 02:20:28.03 ID:f9obKWjH0.net]
>>326
わからないままに何かしてない。
よめばわかるだろ。

336 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 09:52:16.17 ID:2gpItayR0.net]
326はC#の話じゃなくてジャバスクとかの話してるんだろ

337 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 10:52:36.05 ID:+AHJD1dV0.net]
inai inai var !

338 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 11:04:23.12 ID:Qpyz6D0Nd.net]
>>333
そういうことか
型推論は型が確定してるのに意味不明なこと書いてるなと思ってた

339 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 11:48:21.13 ID:Oz0E0ZFa0.net]
型が分からないとほんとイライラくるよな。
今回の反応でスルーできる奴の脳みその構造がだいたい分かってきたわ。わかったつもりで何も分かってない。

ジャバスクの話だ!! そういうことか!!! ←こいつらの脳の構造はこれなんだよ。馬鹿かこいつら…

340 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 11:52:23.41 ID:Hrzc5R7N0.net]
>型が分からないとほんとイライラくるよな。
varは型が確定しています
イライラしているのはあなたがバカなだけ



341 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 11:56:22.08 ID:698Ta9DA0.net]
>>337
“いつ”確定するの?

342 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 11:58:40.79 ID:Oz0E0ZFa0.net]
ジャバスクの話だ!!! varは型が確定している!!! ほんと馬鹿かこいつら…

343 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 12:00:45.54 ID:K01QBlyFd.net]
>>338
コーディングした時点で確定してるよ
varの上にカーソル持って行ったら確認できるだろ

344 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 12:01:01.01 ID:g8h7/5Pi0.net]
>>321から>>323ときてジャバスクとか後付感半端ないわ
こういうのとは仕事したくねーわw

345 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 12:07:12.39 ID:kSsP1HEHa.net]
>>323見たときに
var json =
こうあったとき、デコード後のclassが入ってることあったり、json stringが入ってたり、varやjsonなんて型や変数名だとわけわかんねーよ!
って話かと思ったら全然違った。なんだこの流れ・・・

346 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 12:11:24.66 ID:Oz0E0ZFa0.net]
これこれ。>>341 おれは一言もジャバスクなんて言ってないのにジャバスクの話にされて、
さらにはおれがジャバスクを後付したと妄信し、いきなり仕事したくないとかキチガイ妄想炸裂。
仕事先でこんなキチガイいたらガチで名誉毀損で訴えるわ。

これが型をスルーできる奴の脳の構造。リアルでアホだろ、こいつら…

347 名前:デフォルトの名無しさん [2022/01/04(火) 12:12:43.55 ID:IgSyCTXi0.net]
※現在は削除されています
https://i.imgur.com/1WGlGRS.png

348 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 12:14:13.14 ID:K01QBlyFd.net]
>>343
TypeScriptおすすめ

349 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 12:23:30.92 ID:CklunmhzM.net]
TypeScriptは型ヒント付きスクリプト言語にはよくあることだけど型が嘘をつけるので積極的に使わない方がいい
「型がついてるから安心だ」と思っていたら実行時に違う型の値が入っていることがよくある
なんなら生のJavaScriptの方が「型がないから全ての変数が信用できない」という前提に立てる分まだマシまである

350 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 12:29:36.62 ID:K01QBlyFd.net]
>>346
それ言い出すとC++もreinterpret_cast多用で型の嘘つけるからなあ



351 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 12:42:28.79 ID:rprq1MIMM.net]
>>347
まさにそれだね
cppは名前付きのキャストを使い分ける習慣が広まってるから状況は多少、マシ
TSにはanyとかいう負の遺産がある
それにJSはそれ自身ではできることが少ない言語なのでインフラapiコールに頼りがちだ
そこでanyを使いたくなくても多用するのでとにかく間違えやすい
自分がうっかり間違える可能性
チームメンバーが間違える可能性
ライブラリ作者が間違える可能性
とにかく間違いが起こりやすい
なのでTypeScriptは使わないほいがいい

352 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 12:53:18.36 ID:rkCZbU1/0.net]
・間違ったコールバックの型付け
・間違ったasの使用
・間違った.d.tsの使用
・間違ったユーザー定義タイプガード

TypeScriptで肩を間違える可能性があるのはこんなところかね。
まぁ、自分で使いこなせないものを使わない方がいいってのはその通りだが、
他人も同じように使いこなせないわけじゃないしな。

353 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 13:23:06.07 ID:b15zgk0OM.net]
>>349
間違える余地が在ることが問題
特定の個人が使いこなせるこなせないという低次元な議論じゃない
型Aと書いたものが実際にはAでないという可能性が生じた時点であらゆるコードが信頼性を失い
その検証のために心労とコストが増えて
そして実際にバグが増える

C#では例えば「DateTimeと書いた変数に実際にはstringが入っているかもしれない」などと考えてコーディングする人は誰もいない
C#ではよほどのことがなければ基本的に型が嘘をつかないからそれで上手くいく
DateTimeと書かれたらそれはDateTimeであってstringであることを考慮する必要はない

しかしTypeScriptは違う
型は平気で嘘をつく
Date型と書いた変数が実際は文字列だろうが数値だろうがお構いなしだ

TypeScriptでは型が嘘をついていないことを確かめるには
その型が嘘をついている可能性があるという前提でバリデーションを追加するか
依存してるライブラリの内部の隅々までソースを追いかけるか
そういった対策をしなければならない
それはあまりにも非生産的だ

354 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 13:31:23.12 ID:b15zgk0OM.net]
function ExternalLibFunc(): string

function example() {
const s: string = ExternalLibFunc();
if (typeof s === “string”)
throw new Error(“type errro”);
// do something
}

これが安全なTypeScriptコード
stringと宣言されたものを本当にstringかどうか確かめなければならない

この確認はバカバカしいと思うがやらなければバグを踏む可能性がある
でも全てを確認するなんて大変だ
だからみんな確認を怠る
そして実際にバグが発生する
そういう言語なんだTypeScriptってのは

355 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 14:02:28.93 ID:4jDgn5Qw0.net]
Form1csにイベントがたくさんあるので行数が多くなってしまうのですが
部品ごとにファイルを分けてコードを書く方法を教えてください

356 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 15:10:27.49 ID:v2mo/5h3a.net]
>>352
メニューやツールバーみたいのがあったら
イベントハンドラの数が増えること自体は仕方ない。

行数が増えて困ることは目的の場所を探しにくくなることだから、
対策は#regionディレクティブをうまく使って分類することぐらい

357 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 15:15:26.98 ID:2Grj8syS0.net]
>>352
partial class

358 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 15:40:55.02 ID:y9M4FwJ2M.net]
>>352
void HogeEvent(object s, EventArgs e) {
//長いコード
}

↑これを
↓こうする

void HogeEvent(object s, EventArgs e) {
_hoge.DoSomething();
}

class Hoge {
public DoSomething() {
// 長いコード
}
}

359 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 16:14:54.64 ID:3sRZKpnOa.net]
>>350
そうは言ってもc#だってobjectや継承あるからな・・・

360 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 17:04:00.85 ID:BWSRqAyGM.net]
>>350
ネイティブ呼び始めたら嫌でもチェックせんか?
タグ付きユニオンとか使い始めたらどうせそうなるし。



361 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 17:29:19.72 ID:XgG7cDH40.net]
なんだ動的型付け言語が嫌いなだけか

362 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 17:41:00.66 ID:h9ISFI6AM.net]
>>356
全く意味合いが異なる

363 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 17:42:21.35 ID:h9ISFI6AM.net]
>>357
本来バリデーションが必要がないところでバリデーションが必要になることが大問題

364 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 18:00:52.01 ID:v2mo/5h3a.net]
それはバリデーションじゃなくてバグのチェックだねw

365 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 18:24:36.74 ID:h9ISFI6AM.net]
そだね
TypeScriptdではそういうことも必要になってくる
言語上の欠陥なんだけどランタイムがJSだから永遠に解決しないだろうなこれ

366 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 18:24:37.24 ID:rkCZbU1/0.net]
>間違える余地が在ることが問題

完全無欠な言語以外は認められないと?

>型Aと書いたものが実際にはAでないという可能性が生じた時点であらゆるコードが信頼性を失い

どういう場合にそのようなことが起きるかがわかってないんだろうね。結局使いこなしの問題。

367 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 18:27:22.35 ID:h9ISFI6AM.net]
>>363
完全無欠な言語しか使わないとまでは言わない
ただ大きな欠陥のある言語は使いたくない
感覚としてはその程度だね

どういう場合に起こるか?
それはあらゆる場面で起こりうる
ライブラリすら信用できない

368 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 20:53:29.42 ID:f9obKWjH0.net]
>>360
本来バリデーションは必要なのに必要じゃないと思い込んでるだけだろ。
カナリア置いたりした経験無さそう。

369 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 20:55:06.78 ID:f9obKWjH0.net]
>>364
あるゆるは言い過ぎでは?
ほとんどの場合信頼境界を越えるからかと。

370 名前:デフォルトの名無しさん [2022/01/04(火) 21:33:12.76 ID:e29mAngZa.net]
formsのchartを使ってるんだけど、20系列くらいを100ms以下でリアルタイム更新って厳しいのかな
色々試したけど更新にどうしても時間がかかる。。



371 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 21:37:51.18 ID:I8DXoUzs0.net]
>>365
c♯においてdatetime型の変数の中身がdatetime型以外である可能性があるの?
本来必要なバリデーションって何よ?

372 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 21:44:14.34 ID:rkCZbU1/0.net]
>>364
Cのポインタだって使い方を間違えたら正しい型を示さないことになるし、C自身も安全でない言語と見做される
こともあるが、それを分かったうえで正しく使う人はいるし実際広く使われている。そういうこと。

373 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 21:58:28.71 ID:f9obKWjH0.net]
>>368
外部のAPIで1899年以前を扱いうる場合。

374 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 22:45:31.35 ID:mTPUUbcD0.net]
>>367
サードパーティ製のチャートを探すことをお勧め
詳しくないから具体的な名前は特に挙げられないけど
とりあえずScottPlotって名前を最近見かけたので試してみては
しかし20系列もあると読みづらそうだな

375 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 22:57:39.12 ID:xZMfmUxua.net]
>>367
ただの折れ線グラフとかでビジュアル的に凝る必要がなければ
UserConrolから自分で作った方が早いかもね。

昔散々そういうのやってたけど、やってみると案外簡単だ。
WPFを選択するとパフォーマンス問題にぶち当たるから注意。

376 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 23:04:51.13 ID:hJBi5qqI0.net]
おすすめ本あります?
アマゾンで独習を見たのですが第4版は不評、第3版おすすめとなってたんですが
2010年出版っというのが引っかかっているので他を探しています。

スキルはPythonでPyGameのサンプルを打ち込みつつ、解説を見て勉強してるレベルです。
その他言語の経験はなし!

377 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 23:13:01.18 ID:0nFT+Tq8M.net]
>>365
違う
本来バリデーションは必要ないのにTSでは(というか型がゆるゆるのスクリプト言語全般だが)余計なバリデーションが必要ということ

string x = func();
と書いた時にC#ではxが本当に文字列であることを検証する必要はない
nullになっていないか、文字列が特定の書式を満たしているか、といった心配はあるだろう
しかし、xにintが入ってる可能性は考慮する必要はない

TSではxにnumberが入っているかも、という可能性を考慮しなければならない
これが本来やらなくていいはずのバリデーションだ
これは型が嘘をつくから起こりうること
TSの代表的な欠陥の1つだ

378 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 23:14:48.44 ID:0nFT+Tq8M.net]
>>369
詭弁
話を逸らすな

379 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 23:19:57.46 ID:Oz0E0ZFa0.net]
var x = func();
var y = x.func();
型が分からないとイライラくるよね。
スルーできる奴の脳みそってそ

380 名前:れをすべて妄想で埋めてることが社会実験で実証された。 []
[ここ壊れてます]



381 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 23:20:34.56 ID:rkCZbU1/0.net]
>型が嘘をつく

この言い回しをよっぽど気に入っているようだけどw当然TypeScriptが勝手に嘘をつくわけはなくて、
嘘をつかせたのはそれを使うプログラマ自身だわな

382 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 23:24:23.97 ID:Hrzc5R7N0.net]
>>376
それはメソッド名が糞なだけだよ






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

前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