!extend:checked:vvvvv:1000:512
次スレを立てる時は↑を2行冒頭に書くこと(1行分は消えて表示されない為)
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスや酔っぱらいレスはやめてください
>>980を踏んだ人は新スレを建てて下さい。>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■前スレ
ふらっと C#,C♯,C#(初心者用) Part147
http://mevius.5ch.net/test/read.cgi/tech/1582100741/
■関連スレ
C#, C♯, C#相談室 Part94
http://mevius.5ch.net/test/read.cgi/tech/1553075856/
■コードを貼る場合は↓を使いましょう。
http://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/index
https://docs.microsoft.com/en-us/dotnet/standard/class-libraries
http://referencesource.microsoft.com/
・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
ふらっと C#,C♯,C#(初心者用) Part148
レス数が950を超えています。1000を超えると書き込みができなくなります。
1デフォルトの名無しさん (ワッチョイ df89-moxv)
2020/05/27(水) 20:28:41.27ID:Pggemlyq0883デフォルトの名無しさん (オッペケ Sr10-ta7A)
2020/12/06(日) 13:37:19.87ID:a+vxG21/r Listから特定のインスタンス削りたい場合で位置がわからなければ比較するしかないでしょう
884デフォルトの名無しさん (ワッチョイ 8ea7-m2yY)
2020/12/06(日) 13:40:30.34ID:e5/goOFG0 そういうの言語の機能使うのは俺的にNG
doubleのイコール比較は誤差入るのか?
doubleのイコール比較は誤差入るのか?
885デフォルトの名無しさん (オッペケ Sr10-ta7A)
2020/12/06(日) 14:29:36.48ID:a+vxG21/r Linq使うにせよなんにせよ比較は使う
初心者以下のレベルの話
初心者以下のレベルの話
886デフォルトの名無しさん (ワッチョイ 9cb2-GNfD)
2020/12/06(日) 14:57:26.26ID:E6YSEnmp0 ん?レコードってのは何が嬉しいの?
887デフォルトの名無しさん (ワッチョイ aeda-VFnC)
2020/12/06(日) 15:11:34.04ID:3Mg1tJ4o0 PASCALとかALGOLにあった奴の
先祖帰りかなぁ?
先祖帰りかなぁ?
888デフォルトの名無しさん (アウアウカー Sa0a-GYU0)
2020/12/06(日) 15:15:02.40ID:wbXowyVSa 亡き飼い主の声が聞こえる
889デフォルトの名無しさん (ワッチョイ aa01-swuE)
2020/12/06(日) 16:04:31.40ID:+WMwzRY70 変更できない参照型って言うのはそれなりに使えるとは思うがなんでrecordなんて名前なんだ?
890デフォルトの名無しさん (ワントンキン MM88-fAcm)
2020/12/06(日) 16:16:48.48ID:wcxECur/M OCaml由来
891デフォルトの名無しさん (スッップ Sd70-SNNj)
2020/12/06(日) 16:19:27.32ID:oEu15NIyd892デフォルトの名無しさん (スッップ Sd70-SNNj)
2020/12/06(日) 16:20:25.26ID:oEu15NIyd >>874
structにもrecord つけられるようにする対応はC#10.0以降
structにもrecord つけられるようにする対応はC#10.0以降
893デフォルトの名無しさん (ワッチョイ aeda-VFnC)
2020/12/06(日) 17:02:01.60ID:3Mg1tJ4o0 >>892
THX
THX
894デフォルトの名無しさん (アウアウエー Sa6a-JhWO)
2020/12/06(日) 17:09:37.16ID:L/mxF/rBa >>875
このスレのレスだけ見てたらそんなの何が嬉しいんだと思ったが、
なるほどそれなりに便利そう
ただ、MSのドキュメントに列挙されてる
- 値ベースの等価比較のためのメソッド
- GetHashCode() のオーバーライド
- コピー メンバーとクローン メンバー
これらが自動実装されるのは確かに嬉しいが、これを実現するために何でイミュータブルにする
必要があるのかいまいちよく分からない
このスレのレスだけ見てたらそんなの何が嬉しいんだと思ったが、
なるほどそれなりに便利そう
ただ、MSのドキュメントに列挙されてる
- 値ベースの等価比較のためのメソッド
- GetHashCode() のオーバーライド
- コピー メンバーとクローン メンバー
これらが自動実装されるのは確かに嬉しいが、これを実現するために何でイミュータブルにする
必要があるのかいまいちよく分からない
895デフォルトの名無しさん (アウアウカー Sa0a-GYU0)
2020/12/06(日) 17:40:09.94ID:R+T9okNaa エミュー食べる必要は無いからなあ
896デフォルトの名無しさん (ワッチョイ 1a63-dwcT)
2020/12/06(日) 18:18:00.03ID:4CZ8QguV0 むしろimutableなものが欲しい、からスタートした機能
897デフォルトの名無しさん (スププ Sd94-xoRp)
2020/12/06(日) 18:29:39.04ID:ozrCEgJEd 普通に作ってる分にはいらんわな
898デフォルトの名無しさん (ワッチョイ b9ab-jrSk)
2020/12/06(日) 18:31:30.50ID:Cw8pwO+X0 変なところで値書き換えるやつがいるから、それを型として禁止したってだけだと思ってた
899デフォルトの名無しさん (ワッチョイ 8ea7-m2yY)
2020/12/06(日) 18:43:23.29ID:e5/goOFG0 doubleの比較は何?
また、c#のウンコみたいなイプシロン使って
同値判定してんの?
また、c#のウンコみたいなイプシロン使って
同値判定してんの?
900デフォルトの名無しさん (ワッチョイ b9ab-jrSk)
2020/12/06(日) 18:49:40.35ID:Cw8pwO+X0 勘違いしてた。わざわざ書いてたいつものコードを書かなくて済むようになるのがメリットか
ところで、「record Person」の例で同姓同名の別人を区別したくなったらどうすればいいのん?
ところで、「record Person」の例で同姓同名の別人を区別したくなったらどうすればいいのん?
901デフォルトの名無しさん (ワッチョイ 8ea7-m2yY)
2020/12/06(日) 18:55:24.02ID:e5/goOFG0 大丈夫だ
それはDNAListが異なるので判別できる
それはDNAListが異なるので判別できる
902デフォルトの名無しさん (ワッチョイ 732c-RsF0)
2020/12/06(日) 19:03:18.97ID:atqZF9NJ0 「Effective 何々」とかによく書いてある、3種の神器だろ
Ruby なら宇宙船演算子、<=> で比較関数を再定義する。
ハッシュ関数を再定義する。
p 関数を再定義する。
こういう謎のようなインスタンスID ではなく、分かりやすい表示を再定義する
class A
end
p a = A.new #=> #<A:0x00000000031c2f98>
Ruby なら宇宙船演算子、<=> で比較関数を再定義する。
ハッシュ関数を再定義する。
p 関数を再定義する。
こういう謎のようなインスタンスID ではなく、分かりやすい表示を再定義する
class A
end
p a = A.new #=> #<A:0x00000000031c2f98>
903デフォルトの名無しさん (オッペケ Sr10-l3pW)
2020/12/06(日) 19:10:34.23ID:a+vxG21/r recordはプロパティが基本publicになった
今まではprivateで隠蔽されていて外部から変更されなかった
これはカプセル化なんだけどこれがpublicになっただけじゃ意図しない変更をされる場合がある
非常に困る
だいたいのケースでは参照されても変更されなければ問題がないのでイミュータブルにするじゃねーかなと
今まではprivateで隠蔽されていて外部から変更されなかった
これはカプセル化なんだけどこれがpublicになっただけじゃ意図しない変更をされる場合がある
非常に困る
だいたいのケースでは参照されても変更されなければ問題がないのでイミュータブルにするじゃねーかなと
904デフォルトの名無しさん (ワッチョイ 1a63-dwcT)
2020/12/06(日) 19:16:53.81ID:4CZ8QguV0 だから順番が逆
immutableな型が欲しい→immutableなんだからpublicでok
immutableな型が欲しい→immutableなんだからpublicでok
905デフォルトの名無しさん (オッペケ Sr10-l3pW)
2020/12/06(日) 19:18:27.50ID:a+vxG21/r 世の中もイミュータブルが求められていると言うのもその通り
ValueObjectはいったん値を設定したら変えない
値を変えたくなったら新しいValueObjectをnewして挿げ替える
ValueObjectはいったん値を設定したら変えない
値を変えたくなったら新しいValueObjectをnewして挿げ替える
906デフォルトの名無しさん (ワッチョイ 66ad-SNNj)
2020/12/06(日) 19:23:32.30ID:iGfaGXq00 別にrecord = イミューダブルじゃないからね?
907デフォルトの名無しさん (ワッチョイ 66ad-SNNj)
2020/12/06(日) 19:23:45.93ID:iGfaGXq00 イミュータブル
908デフォルトの名無しさん (オッペケ Sr10-l3pW)
2020/12/06(日) 19:29:20.15ID:a+vxG21/r 他の簡易な言語などでもデフォルトはprivateじゃなくpublic
イミュータブルかどうかは別としてデフォがpublicが流行り
イミュータブルかどうかは別としてデフォがpublicが流行り
909デフォルトの名無しさん (オッペケ Sr10-l3pW)
2020/12/06(日) 19:48:28.39ID:a+vxG21/r どちらにせよ
C#は9.0で大変身した
C#は9.0で大変身した
910デフォルトの名無しさん (ワッチョイ aa01-swuE)
2020/12/06(日) 19:50:57.76ID:+WMwzRY70 >>900
社員番号とかを追加しときゃいいだろ
社員番号とかを追加しときゃいいだろ
911デフォルトの名無しさん (ワッチョイ c04f-ta7A)
2020/12/06(日) 20:39:59.39ID:5/KOVLSv0912デフォルトの名無しさん (ワッチョイ 1a63-dwcT)
2020/12/07(月) 02:42:51.99ID:FMWF8Lcl0 9に限らず今までのversion upはどれも影響度が大きい
8のnullable、7のtuple、6の自動実装プロパティ、5の非同期、4のdynamic、3のlinq
他にもいっぱいあるけど
どれも現状のC#にとって超重要な内容
8のnullable、7のtuple、6の自動実装プロパティ、5の非同期、4のdynamic、3のlinq
他にもいっぱいあるけど
どれも現状のC#にとって超重要な内容
913デフォルトの名無しさん (ワッチョイ e43e-CQ6W)
2020/12/07(月) 03:27:02.89ID:1hmL4SHh0 10年ぶりにwindowsアプリ作りたいんだけど最近は何で作るのが主流ですか?
まだwinformsだったりする?
まだwinformsだったりする?
914デフォルトの名無しさん (ワッチョイ 66ad-SNNj)
2020/12/07(月) 03:34:00.01ID:obD3rptW0 結局WinFormsかWPF
915デフォルトの名無しさん (ワッチョイ 6e61-JQIg)
2020/12/07(月) 06:24:24.79ID:AjKIX7D20 バージョン9が話題らしいですがc#のバージョンてどこ見りゃわかるの?
916デフォルトの名無しさん (ワッチョイ fb54-9rBX)
2020/12/07(月) 07:20:40.19ID:VGjx4xxr0 >>915
VS2019なら、ソースの適当なとこに、
#error version
って書いて、versionにマウスカーソル合わせると表示される。
あと、9かそうでないかの判断だけなら、setの代わりにinit使ったプロパティが認識されるなら9。
int Hage{get; init;}
VS2019なら、ソースの適当なとこに、
#error version
って書いて、versionにマウスカーソル合わせると表示される。
あと、9かそうでないかの判断だけなら、setの代わりにinit使ったプロパティが認識されるなら9。
int Hage{get; init;}
917デフォルトの名無しさん (ワッチョイ 6e61-JQIg)
2020/12/07(月) 07:27:50.50ID:AjKIX7D20918デフォルトの名無しさん (ブーイモ MM5e-VFnC)
2020/12/07(月) 07:33:11.23ID:jipj8SHtM >>917
お大事に。
お大事に。
919デフォルトの名無しさん (アウアウクー MMd2-Jjlp)
2020/12/07(月) 07:47:15.09ID:B8tartMNM Record型って最初聞いた時に、データベースのレコードを突っ込む型と思ってたわ…
更新できないってことは
中身書き換えてEFに投げてデータベース更新することができないってことだよな。
俺もいまいち使い道がわからんわ。
どういうシステムで使うんだろ。
更新できないってことは
中身書き換えてEFに投げてデータベース更新することができないってことだよな。
俺もいまいち使い道がわからんわ。
どういうシステムで使うんだろ。
920デフォルトの名無しさん (ワッチョイ 3a10-jrSk)
2020/12/07(月) 09:03:38.47ID:qwdGv73V0 多値からなる識別子とか
921デフォルトの名無しさん (ワッチョイ ec6a-l3pW)
2020/12/07(月) 09:15:00.72ID:5xO4uxgk0922デフォルトの名無しさん (ワッチョイ 215d-jrSk)
2020/12/07(月) 10:31:45.42ID:mtQ69pRI0 .NET Core〜.NET5でWindows用アプリをビルドするとexeやdllやjsonが生成されてそれら全て必要なようですが、.NET Frameworkのようなスマートな出力には出来ないんでしょうか?
丸々exe一本にしたい訳ではなくライブラリは別にしたいので単一ファイル化とはちょっと違うのですが
丸々exe一本にしたい訳ではなくライブラリは別にしたいので単一ファイル化とはちょっと違うのですが
923デフォルトの名無しさん (ワッチョイ 66ad-SNNj)
2020/12/07(月) 12:22:21.16ID:obD3rptW0 Framework dependent
924デフォルトの名無しさん (ワッチョイ ec6a-l3pW)
2020/12/08(火) 00:25:30.96ID:8YwC0Fuu0 >>919
DDDとかValueObjectとかに関わってないと分からんかもな
DDDとかValueObjectとかに関わってないと分からんかもな
925デフォルトの名無しさん (アウアウクー MMd2-Jjlp)
2020/12/08(火) 08:36:58.75ID:qADZolAoM >>924
そのキーワードでググってみた
とにかく
Record型ってのはValueObjectを作ることを目的としたクラスであって
DBから取得したレコードを突っ込むクラスではないのね
https://www.infoq.com/jp/articles/DDD_ValueObject_0325/
…じゃあValueObject型って名前にしろよ!
そのキーワードでググってみた
とにかく
Record型ってのはValueObjectを作ることを目的としたクラスであって
DBから取得したレコードを突っ込むクラスではないのね
https://www.infoq.com/jp/articles/DDD_ValueObject_0325/
…じゃあValueObject型って名前にしろよ!
926デフォルトの名無しさん (ワッチョイ ac93-uu7w)
2020/12/08(火) 08:59:31.84ID:QL1pojox0 >>925
DBのレコード突っ込む型とか、自分で言ってて頭悪いと思わないのかな
DBのレコード突っ込む型とか、自分で言ってて頭悪いと思わないのかな
927デフォルトの名無しさん (スップ Sd9e-dwcT)
2020/12/08(火) 09:04:14.01ID:ThBsNynLd 名称なんて年単位で議論してたんだから提案あるならしてくりゃ良かったのに
928デフォルトの名無しさん (アウアウクー MMd2-Jjlp)
2020/12/08(火) 09:08:19.56ID:qADZolAoM929デフォルトの名無しさん (ワッチョイ 3a32-LJJ8)
2020/12/08(火) 09:25:23.43ID:WA2T93A40 レコードなんだから再生できても録音できないのは当たり前だろ
930デフォルトの名無しさん (アウアウクー MMd2-Jjlp)
2020/12/08(火) 09:30:24.02ID:qADZolAoM 確かにそうだな
データベースのレコードを更新するってよく考えたら変な言い回しなんだな
データベースのレコードを更新するってよく考えたら変な言い回しなんだな
931デフォルトの名無しさん (ワッチョイ c252-r0ox)
2020/12/08(火) 09:44:59.64ID:0unpAQOY0 >>928
新しいキーワードや概念が出てきたなら名前から安易に決めつけたりせずにどんなものか調べるのが当たり前の行動でないの?
新しいキーワードや概念が出てきたなら名前から安易に決めつけたりせずにどんなものか調べるのが当たり前の行動でないの?
932デフォルトの名無しさん (ワッチョイ d0f2-yHc1)
2020/12/08(火) 11:08:44.41ID:CR6HP8eG0 DVD-ROM型
933デフォルトの名無しさん (ワッチョイ 4624-onDa)
2020/12/08(火) 11:09:42.33ID:+Hjnd8Yr0 Spanで返してくれるHtmlパーサーってある?
そもそも標準のパーサーってあったっけ
jsと同じ感覚でquerySelectorとか使えると良いんだけど
そもそも標準のパーサーってあったっけ
jsと同じ感覚でquerySelectorとか使えると良いんだけど
934デフォルトの名無しさん (アウアウエー Sa6a-JhWO)
2020/12/08(火) 12:04:51.25ID:GTdYvNE8a >>924
プロパティーの型はイミュータブルなのが好ましいのは誰でも分かると思う。
プロパティーの型はイミュータブルなのが好ましいのは誰でも分かると思う。
935デフォルトの名無しさん (ドコグロ MM22-swuE)
2020/12/08(火) 12:20:44.27ID:MydVvHcuM936デフォルトの名無しさん (オッペケ Srd7-jYx2)
2020/12/08(火) 12:27:24.23ID:QPlJJaQdr >>931
漢字文化圏では字面から意味がだいたい分かることに甘えたやつが多い
漢字文化圏では字面から意味がだいたい分かることに甘えたやつが多い
937デフォルトの名無しさん (ラクッペペ MM34-xfUJ)
2020/12/08(火) 12:35:05.35ID:f+ofKIWhM 全く関係ないが昔ログインの事を略してログと呼んでいる奴がいて
それに気が付くまで話が全く理解できなかった
それに気が付くまで話が全く理解できなかった
938デフォルトの名無しさん (ブーイモ MMed-VFnC)
2020/12/08(火) 12:42:21.79ID:Jz5aG9hcM ログオンしないの?
939デフォルトの名無しさん (ワッチョイ 8401-yHc1)
2020/12/08(火) 12:57:17.36ID:UAWkpbVf0 爪折ったカセットテープ型
940デフォルトの名無しさん (ササクッテロル Sp88-yHc1)
2020/12/08(火) 13:07:42.70ID:u9TUBJ18p 平和守る名前さ〜♪
941デフォルトの名無しさん (ワッチョイ 66ad-SNNj)
2020/12/08(火) 13:23:08.32ID:v7gdDVm90 ダグオンwww
942デフォルトの名無しさん (アウアウクー MMd2-Jjlp)
2020/12/08(火) 14:49:14.43ID:qADZolAoM943デフォルトの名無しさん (ワッチョイ 0c01-zWK8)
2020/12/08(火) 15:12:08.46ID:L/fvSJtl0944デフォルトの名無しさん (ワッチョイ bc5f-RsF0)
2020/12/08(火) 15:23:20.07ID:0ctxmOmz0 >>922
必要ないのも混ざってるよ
必要ないのも混ざってるよ
945デフォルトの名無しさん (ワッチョイ aa01-swuE)
2020/12/08(火) 15:29:38.69ID:bfWpuCm70946デフォルトの名無しさん (ワッチョイ 2663-jrSk)
2020/12/08(火) 16:14:06.02ID:KeS4W5RD0 くそコード書いといて
えー読めないのみたいな顔するやつ死ね
えー読めないのみたいな顔するやつ死ね
947デフォルトの名無しさん (ワッチョイ 66ad-SNNj)
2020/12/08(火) 16:43:14.25ID:v7gdDVm90 だからrecord 自体は別にイミュータブルでも何でもないんだってば
948デフォルトの名無しさん (ラクッペペ MM34-xfUJ)
2020/12/08(火) 19:03:10.97ID:f+ofKIWhM デビュー前にレコード大賞を盗った場合はどうなるの?
949デフォルトの名無しさん (ワッチョイ 7c33-ssng)
2020/12/08(火) 19:32:57.86ID:MwY7tEEj0 tmpとかもやめて欲しいな。
950デフォルトの名無しさん (ワッチョイ f67b-twe7)
2020/12/08(火) 19:33:13.64ID:y8tTQ7tr0 質問スレで平日の昼間からずっと雑談づくしってお前らそういう仕事なの?
951デフォルトの名無しさん (ワッチョイ 4624-onDa)
2020/12/08(火) 19:54:46.60ID:+Hjnd8Yr0 >>950
このご時世で昼間に家からカキコできないほうが終わってる定期
このご時世で昼間に家からカキコできないほうが終わってる定期
952デフォルトの名無しさん (アウアウクー MM1b-iTOR)
2020/12/09(水) 02:33:30.28ID:WuZTb4kZM なにごちゃごちゃ抜かしとるんじゃ我ェ!?
953デフォルトの名無しさん (ワッチョイ 7fb0-kRr2)
2020/12/11(金) 09:52:21.87ID:xnlTyNu60 エンディアンのバイトスワップめんどくせー
954デフォルトの名無しさん (ワッチョイ df40-orE1)
2020/12/11(金) 11:23:36.63ID:RmJd06BU0 あるウェブサイトにWebrequestを使ってアクセスしようとしたところ、
「ご使用のブラウザはCookieまたはJavaScriptの設定が無効です」
と出てウェブブラウザでは表示されるページが取得できませんでした。
webrequestは今まで何度も使っていますがこんなことになったのは初めてです。
↓のようにどこの解説サイトでも掲載されているような普通のやり方でやっているだけなのですが、回避する方法はあるのでしょうか?
CookieContainer myCC = new CookieContainer()
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
req.CookieContainer = myCC:
「ご使用のブラウザはCookieまたはJavaScriptの設定が無効です」
と出てウェブブラウザでは表示されるページが取得できませんでした。
webrequestは今まで何度も使っていますがこんなことになったのは初めてです。
↓のようにどこの解説サイトでも掲載されているような普通のやり方でやっているだけなのですが、回避する方法はあるのでしょうか?
CookieContainer myCC = new CookieContainer()
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
req.CookieContainer = myCC:
955デフォルトの名無しさん (ワッチョイ df40-orE1)
2020/12/11(金) 12:09:30.98ID:RmJd06BU0 すいません、自己解決しました
956デフォルトの名無しさん (オイコラミネオ MM7b-oVOe)
2020/12/11(金) 12:28:58.18ID:e2z+8YzhM プロジェクト内で定義された派生クラスを全てリストする方法ってあるでしょうか?
例えば動物という基底クラスがあり、
派生クラスに猫、犬と2つ作ったとします。
基底クラスには鳴き声メソッドがあるとします。
猫の鳴き声メソッドは「ニャーニャー」と返します。
ある関数で「ワンワン」という文字列が来た際に
プロジェクト内の動物派生クラスを個別に生成して鳴き声メソッドを叩き、
ワンワンと鳴く派生クラスを特定する逆引きのような処理をしたいです。
if文で全派生クラスを書けばいいですが、派生クラスはガンガン増えていくので、派生クラスを定義するたびににそのif文をメンテするのはメンテ漏れのバグのリスクがあるので
プロジェクト内に現在定義された動物派生クラスを全部取ってくる事が出来れば、それをグルグル回せばメンテナンス不要のコードにできるのですが
例えば動物という基底クラスがあり、
派生クラスに猫、犬と2つ作ったとします。
基底クラスには鳴き声メソッドがあるとします。
猫の鳴き声メソッドは「ニャーニャー」と返します。
ある関数で「ワンワン」という文字列が来た際に
プロジェクト内の動物派生クラスを個別に生成して鳴き声メソッドを叩き、
ワンワンと鳴く派生クラスを特定する逆引きのような処理をしたいです。
if文で全派生クラスを書けばいいですが、派生クラスはガンガン増えていくので、派生クラスを定義するたびににそのif文をメンテするのはメンテ漏れのバグのリスクがあるので
プロジェクト内に現在定義された動物派生クラスを全部取ってくる事が出来れば、それをグルグル回せばメンテナンス不要のコードにできるのですが
957デフォルトの名無しさん (スップ Sd7f-H4RV)
2020/12/11(金) 12:46:55.66ID:VHLzC15hd SourceGeneratorならできるだろうけど、何の情報もなしにclass探すのは無理じゃない?
テーブル内のclassに対して全部処理するとかはできるだろうから編集箇所は最小限で済ませられるけど
テーブル内のclassに対して全部処理するとかはできるだろうから編集箇所は最小限で済ませられるけど
958デフォルトの名無しさん (スッップ Sdff-QrRs)
2020/12/11(金) 12:49:19.99ID:9hZE0nsxd >>956
リフレクションで頑張れば行けるかもね
リフレクションで頑張れば行けるかもね
959デフォルトの名無しさん (アウアウエー Sa9f-5lnE)
2020/12/11(金) 13:03:11.90ID:exUCYAAha >>956
動的にサブクラスを列挙するのはたぶん無理じゃないの?
public abstract class Animal
{
public Animal(Animal a)
{
...
}
}
こういう風にAnimalのコンストラクタでthisを渡すことを強制しておけば
少なくともインスタンス化されたものは把握できるね。
動的にサブクラスを列挙するのはたぶん無理じゃないの?
public abstract class Animal
{
public Animal(Animal a)
{
...
}
}
こういう風にAnimalのコンストラクタでthisを渡すことを強制しておけば
少なくともインスタンス化されたものは把握できるね。
960デフォルトの名無しさん (ワッチョイ ff7c-kRr2)
2020/12/11(金) 14:37:47.39ID:m/dnIqsS0 typeof(Animal).Assembly.GetTypes().Where(_type => _type.IsSubclassOf(typeof(Animal)))
型の列挙自体はこんなんでできるけど
インスタンスどうするの?っていう
全部の型にpublicな引数なしコンストラクタが必ずありますならなんとかなるけど
型の列挙自体はこんなんでできるけど
インスタンスどうするの?っていう
全部の型にpublicな引数なしコンストラクタが必ずありますならなんとかなるけど
961デフォルトの名無しさん (ワッチョイ 7fbb-Drbj)
2020/12/11(金) 15:40:59.87ID:69jKb/QY0 そういやクラスに、静的に実行される静的イニシャライザを書けるようにしてくれたらいいのにと思うことあるな
962デフォルトの名無しさん (テテンテンテン MM8f-3nR/)
2020/12/11(金) 16:53:05.38ID:CVvHA/5PM >>961
書けるぞ
書けるぞ
963デフォルトの名無しさん (ワッチョイ e701-BALy)
2020/12/11(金) 18:41:57.69ID:bOY22DN70 >>959
それthisじゃない。
それthisじゃない。
964デフォルトの名無しさん (アウアウエー Sa9f-5lnE)
2020/12/11(金) 19:31:50.50ID:exUCYAAha >>963
意味が分からんけど
public class Cat:Animal
{
Cat():base(this){ ... }
}
これはNGみたいだね。
別にこれで良かったのか
public abstract class Animal
{
private static List<Type> Animals = new List<Type>();
public Animal()
{
var t = this.GetType();
Animals.Remove(t);
Animals.Add(t);
}
}
意味が分からんけど
public class Cat:Animal
{
Cat():base(this){ ... }
}
これはNGみたいだね。
別にこれで良かったのか
public abstract class Animal
{
private static List<Type> Animals = new List<Type>();
public Animal()
{
var t = this.GetType();
Animals.Remove(t);
Animals.Add(t);
}
}
965デフォルトの名無しさん (ワッチョイ df2f-Goa5)
2020/12/11(金) 19:37:25.05ID:PS9oWtr00 >>960
自分のインスタンスを返す静的メソッドって作れないのか
それを親クラスかインターフェイスで規定しておけばよいんじゃ
つかわざわざインスタンス生成しなくても、鳴き声が自分かどうか判定する静的メソッドで事足りる気がするな
自分のインスタンスを返す静的メソッドって作れないのか
それを親クラスかインターフェイスで規定しておけばよいんじゃ
つかわざわざインスタンス生成しなくても、鳴き声が自分かどうか判定する静的メソッドで事足りる気がするな
966デフォルトの名無しさん (ワッチョイ 7ff2-5K8T)
2020/12/11(金) 20:32:27.16ID:ZS/vCbaU0 >>940-941
渋谷で超勇者展始まったぞ!
渋谷で超勇者展始まったぞ!
967デフォルトの名無しさん (ワッチョイ 7fbb-Drbj)
2020/12/11(金) 21:16:51.65ID:69jKb/QY0968デフォルトの名無しさん (アウアウイー Sa1b-j1yc)
2020/12/11(金) 21:34:43.36ID:bOExnmUya 「C# 静的イニシャライザ」で検索して普通に引っかかるでしょ
イニシャライザ/コンストラクタと呼び方が異なるだけで
イニシャライザ/コンストラクタと呼び方が異なるだけで
969デフォルトの名無しさん (アウアウクー MM1b-iTOR)
2020/12/13(日) 02:19:21.24ID:1g8P/X2hM c#でRSSリーダー作れましゅか?
970デフォルトの名無しさん (ワッチョイ 8710-kDsR)
2020/12/13(日) 02:27:42.98ID:mhM78eSV0 もちろん作れるさ
971デフォルトの名無しさん (ブーイモ MMeb-egwc)
2020/12/13(日) 06:26:58.36ID:TsdjEAD7M c#では作れないものはありますか?
972デフォルトの名無しさん (ワッチョイ bf62-MC0k)
2020/12/13(日) 07:37:48.18ID:18RrlrES0 >>965
全ての派生クラスで同じ名前の静的メソッドやプロパティを強要できるならそれでよさそうだけど出来なくね?
全ての派生クラスで同じ名前の静的メソッドやプロパティを強要できるならそれでよさそうだけど出来なくね?
973デフォルトの名無しさん (ワッチョイ df2f-Goa5)
2020/12/13(日) 09:06:36.69ID:unG5NNsQ0974デフォルトの名無しさん (ワッチョイ df01-1sNk)
2020/12/13(日) 10:08:37.85ID:3XNF+7/F0 >>971
お前の能力を超えたソフト
お前の能力を超えたソフト
975デフォルトの名無しさん (アウアウウー Sa6b-lled)
2020/12/13(日) 10:11:14.52ID:7La4X7B8a ネイティブDLLが作れるようになってくれないかな
976デフォルトの名無しさん (ワッチョイ df24-S/l1)
2020/12/13(日) 10:21:46.03ID:BQqdDV6m0 >>971
カーネルドライバ
カーネルドライバ
977デフォルトの名無しさん (ワッチョイ c702-kNbH)
2020/12/13(日) 10:26:06.52ID:QKeUnYpp0978デフォルトの名無しさん (ワッチョイ 2766-H4RV)
2020/12/13(日) 11:14:15.79ID:KcA96kkp0 マシン語にしたバイナリを出力するアプリをC#で作ればなんでもできることになる
979デフォルトの名無しさん (ワッチョイ bf8c-2hao)
2020/12/13(日) 14:02:37.13ID:U1NW+seS0 nativeaot(-llvm)?(旧corert)ってのがあってぇ…
980デフォルトの名無しさん (ワッチョイ df01-1sNk)
2020/12/13(日) 14:07:55.69ID:3XNF+7/F0 .NETNative をちゃんと作ればC#でもネイティブコードにコンパイルできるだろうし、そもそも性能がたいして必要ないならインタプリタでもドライバを書くことはできるだろうけどGCに依存してる言語はタイミングが読めないから難しいわな
981デフォルトの名無しさん (ワッチョイ a74f-sAgx)
2020/12/13(日) 14:47:32.03ID:E31xy0lw0 C++/CLI復権してくれたらなぁ。まずないとは思うが。
982デフォルトの名無しさん (ワッチョイ 4768-Goa5)
2020/12/14(月) 19:47:40.61ID:EY+baBGY0 WEBの写真ダウンロード処理をしてるのですが、出来るものと出来にくいものがあります。
出来にくいもの(EDGEブラウザで開けるとすぐ見れるがダウンロードでは20秒くらいかかる)
https://i.dailymail.co.uk/i/pix/2013/05/09/article-2321812-19B162BA000005DC-124_634x449.jpg
出来るもの(すぐにダウンロードできる。EDGEブラウザでもすぐ見れる)
https://i.imgur.com/bnUR6en.png
System.Net.WebClient client = new System.Net.WebClient();
client.DownloadFile("https://i.dailymail.co.uk/i/pix/2013/05/09/article-2321812-19B162BA000005DC-124_634x449.jpg", @"D:\tmp.jpg");
こういうのはサーバー側でアクセス種類がブラウザかプログラムか見分けられて
対策されてるのでしょうか?
出来にくいもの(EDGEブラウザで開けるとすぐ見れるがダウンロードでは20秒くらいかかる)
https://i.dailymail.co.uk/i/pix/2013/05/09/article-2321812-19B162BA000005DC-124_634x449.jpg
出来るもの(すぐにダウンロードできる。EDGEブラウザでもすぐ見れる)
https://i.imgur.com/bnUR6en.png
System.Net.WebClient client = new System.Net.WebClient();
client.DownloadFile("https://i.dailymail.co.uk/i/pix/2013/05/09/article-2321812-19B162BA000005DC-124_634x449.jpg", @"D:\tmp.jpg");
こういうのはサーバー側でアクセス種類がブラウザかプログラムか見分けられて
対策されてるのでしょうか?
レス数が950を超えています。1000を超えると書き込みができなくなります。
ニュース
- 【音楽】Perfume・あ~ちゃんの結婚相手「一般男性」は吉田カバンの社長・吉田幸裕氏(41) 高身長で山本耕史似 [Ailuropoda melanoleuca★]
- 【サッカー】U-17日本代表、激闘PK戦制す 北朝鮮撃破で6大会ぶり8強入り U17W杯 [久太郎★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★4 [ぐれ★]
- 【インバウンド】中国人観光客の日本での消費額は年間約2兆円超…中国政府は公務員の出張取り消し [1ゲットロボ★]
- 【サッカー】日本代表、ボリビアに3発快勝 森保監督通算100試合目を飾る…鎌田、町野、中村がゴール [久太郎★]
- XやChatGPTで広範囲の通信障害 投稿や閲覧できず [蚤の市★]
- アンケート調査で「高市発言は問題なし」 93.5%wwwwwwwwwwwwwwwwwwwwwwwww [279254606]
- 生活保護の受給額ってなんでこんなに安いの?
- お前らは“スカイマイルタワー”建設計画を知っているか?
- これ誰か分かるか?
- 支払い詰まってインターネット止まった
- 万引きJC「すいません許してください!何でもしますから!」←どうする?
