!extend:checked:vvvvv:1000:512
次スレを立てる時は↑を2行冒頭に書くこと(1行分は消えて表示されない為)
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスや酔っぱらいレスはやめてください
>>980を踏んだ人は新スレを建てて下さい。>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■前スレ
ふらっと C#,C♯,C#(初心者用) Part149
http://mevius.5ch.net/test/read.cgi/tech/1608085775/
■関連スレ
C#, C♯, C#相談室 Part94
https://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/
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
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
探検
ふらっと C#,C♯,C#(初心者用) Part150
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 2b02-+i0H)
2021/03/23(火) 12:58:24.10ID:ACoFzk2L0712デフォルトの名無しさん (ブーイモ MMcf-QYFT)
2021/05/04(火) 11:19:32.83ID:/WM42vypM >>709
短くて大量のモックラムダの定義は常にテストと共にあり、全てが目に見えて、嘘も隠し事もなく、理解容易だ
モックオブジェクトの大群は全てが隠蔽されており、その実体はお世辞にも理解しやすいとは言えない黒魔術で構成されている
モックオブジェクトを扱う人間はモックオブジェクト独特の世界観を深く理解し、信仰しなければならない
僕らはただ楽に単純明快なテストを書きたいだけなのに…
短くて大量のモックラムダの定義は常にテストと共にあり、全てが目に見えて、嘘も隠し事もなく、理解容易だ
モックオブジェクトの大群は全てが隠蔽されており、その実体はお世辞にも理解しやすいとは言えない黒魔術で構成されている
モックオブジェクトを扱う人間はモックオブジェクト独特の世界観を深く理解し、信仰しなければならない
僕らはただ楽に単純明快なテストを書きたいだけなのに…
713デフォルトの名無しさん (ワッチョイ e7ad-BL7Q)
2021/05/04(火) 11:23:09.70ID:9VBk1Szv0 >>712
自分で作れば、モックオブジェクトも別に隠蔽されてないし、理解しづらくも無いんだが。
必要十分なものを作れば良いと思うよ。
なんかフレームワークに振り回された思い出があるの?
それは俺にもあるからわからんでもない。
自分で作れば、モックオブジェクトも別に隠蔽されてないし、理解しづらくも無いんだが。
必要十分なものを作れば良いと思うよ。
なんかフレームワークに振り回された思い出があるの?
それは俺にもあるからわからんでもない。
714デフォルトの名無しさん (ワッチョイ a7e3-OedE)
2021/05/04(火) 11:27:48.16ID:XePiVdwm0 これ回線2つ使った自演芸やんけ
せめて文体変えようよ・・・
せめて文体変えようよ・・・
715デフォルトの名無しさん (ブーイモ MMcf-QYFT)
2021/05/04(火) 11:28:41.29ID:/WM42vypM >>711
何故モックフレームワークのような出来損ないが、世の人々にありがたがられているか理解してる?
モックフレームワークを使わなければいいと、言うだけなら簡単だよ
でもねその代償に今度は、大量のモッククラスを書かなければならなくなるんだ
世の人々はそんな大量のモッククラスを書くのは嫌だ、ということでモックフレームワークを作ったんだ
苦肉の策だったんだろうけど、世の人々は薄々疑問を感じながらも自分を納得させてモックフレームワークを受け入れた
大量のクラスを書くよりは、たぶんマシだから
さてなんでこうなってしまったか、根本原因はもうわかるね?
依存性分離のためにインターフェースを採用しちゃったからだよ
インターフェースに実装を与えるのは、関数と比べるとものすごい労力かかるんだね
何故モックフレームワークのような出来損ないが、世の人々にありがたがられているか理解してる?
モックフレームワークを使わなければいいと、言うだけなら簡単だよ
でもねその代償に今度は、大量のモッククラスを書かなければならなくなるんだ
世の人々はそんな大量のモッククラスを書くのは嫌だ、ということでモックフレームワークを作ったんだ
苦肉の策だったんだろうけど、世の人々は薄々疑問を感じながらも自分を納得させてモックフレームワークを受け入れた
大量のクラスを書くよりは、たぶんマシだから
さてなんでこうなってしまったか、根本原因はもうわかるね?
依存性分離のためにインターフェースを採用しちゃったからだよ
インターフェースに実装を与えるのは、関数と比べるとものすごい労力かかるんだね
716デフォルトの名無しさん (ワッチョイ 0778-OedE)
2021/05/04(火) 11:29:07.24ID:F3N+oY4e0 ID:9VBk1Szv0
ID:/WM42vypM
いい加減議論スレへ行け
ふらっと C#,C♯,C#(議論用) [無断転載禁止]©2ch.net
https://mevius.5ch.net/test/read.cgi/tech/1469538912/
ID:/WM42vypM
いい加減議論スレへ行け
ふらっと C#,C♯,C#(議論用) [無断転載禁止]©2ch.net
https://mevius.5ch.net/test/read.cgi/tech/1469538912/
717デフォルトの名無しさん (ワッチョイ e7ad-BL7Q)
2021/05/04(火) 11:30:27.06ID:9VBk1Szv0718デフォルトの名無しさん (ブーイモ MMcf-QYFT)
2021/05/04(火) 11:34:02.42ID:/WM42vypM >>713
僕らはテストを書きたいんだ
大量のモッククラスを書きたいわけでもない
モックフレームワークを自作したいわけでもない
モックフレームワークを利用して疲弊したいわけでもない
僕らはただたんにテストを書きたいんだ
僕らはテストを書きたいんだ
大量のモッククラスを書きたいわけでもない
モックフレームワークを自作したいわけでもない
モックフレームワークを利用して疲弊したいわけでもない
僕らはただたんにテストを書きたいんだ
719デフォルトの名無しさん (ワッチョイ bfde-wijr)
2021/05/04(火) 11:42:00.80ID:5c9CWd/c0 ま、インターフェースなんかいらんな
データベースが当たり前になってきた頃からインターフェースを積極的に使うやつは確実に減ってきた
だってこれやっぱテーブルにしにくいじゃん
いやね
差分だけ本当にまとまってるならそういう手もありなんだけど
実際は虫食い状態の共通部と固有部分を分けるのって現実的じゃないと思うんだよね
データベースが当たり前になってきた頃からインターフェースを積極的に使うやつは確実に減ってきた
だってこれやっぱテーブルにしにくいじゃん
いやね
差分だけ本当にまとまってるならそういう手もありなんだけど
実際は虫食い状態の共通部と固有部分を分けるのって現実的じゃないと思うんだよね
720デフォルトの名無しさん (ワッチョイ 8763-OedE)
2021/05/04(火) 12:03:51.01ID:UFmf8yJF0 属性のメリットが全然わからなくてとまどってる
obsoleteなど例外を除いて、summaryなどと違って参照時に開発者側へメッセージを呼び出すわけじゃないんだな
obsoleteのような開発時のエラーメッセージの表示を条件分岐したかったけど見当たらないし、obsolete自体が継承できないときた
メソッドの代わりとして使うしかないのか?
obsoleteなど例外を除いて、summaryなどと違って参照時に開発者側へメッセージを呼び出すわけじゃないんだな
obsoleteのような開発時のエラーメッセージの表示を条件分岐したかったけど見当たらないし、obsolete自体が継承できないときた
メソッドの代わりとして使うしかないのか?
721デフォルトの名無しさん (ワッチョイ e7ad-BL7Q)
2021/05/04(火) 12:09:41.03ID:9VBk1Szv0 >>720
組み込み属性以外だと、リフレクションでメソッドなりクラスなりを探すときに、特定のAttributeがついてるものを対象にしたり、呼び出し元に特定のAttributeがついてるかをコールスタックから探したりするためのものでは?
あとはAttributeUsageAttributeで制限かけたりかなぁ。
組み込み属性以外だと、リフレクションでメソッドなりクラスなりを探すときに、特定のAttributeがついてるものを対象にしたり、呼び出し元に特定のAttributeがついてるかをコールスタックから探したりするためのものでは?
あとはAttributeUsageAttributeで制限かけたりかなぁ。
722デフォルトの名無しさん (テテンテンテン MM8f-GPK9)
2021/05/04(火) 12:36:44.27ID:rb0F5K+LM 属性は、
EntityFrameworkとかASPNETとか属性利用ありきのライブラリを使ったり自作したりしない限り
特にメリットなんてないという理解でいいと思う
逆に言えばそういうライブラリを使うときに初めて意味を持つんで
ひとまず書き方使い方だけ頭の片隅にいれておけば十分
EntityFrameworkとかASPNETとか属性利用ありきのライブラリを使ったり自作したりしない限り
特にメリットなんてないという理解でいいと思う
逆に言えばそういうライブラリを使うときに初めて意味を持つんで
ひとまず書き方使い方だけ頭の片隅にいれておけば十分
723デフォルトの名無しさん (ワッチョイ 8763-OedE)
2021/05/04(火) 13:01:40.29ID:UFmf8yJF0724デフォルトの名無しさん (ブーイモ MMcf-QYFT)
2021/05/04(火) 13:41:23.71ID:p57xGa3RM >>720
属性はメタプログラミングで利用するもの
C#ではダイナミックに型情報にアクセスすることできるが、属性はその型情報に”お好みのラベル”を付与するための機構だ
ただラベルを貼り付けるだけではなんの意味もない
ラベルを解釈して振る舞いを変えるクライアントプログラムを作ることで、初めて属性に意味が生じる
同じ事をあちこちでやってるけど、クラスや関数など従来の言語基盤ではモジュール化しにくいもの
いわゆるアスペクトというものをモジュール化するための道具として使われることが多い
またIDEを初めとする周辺ツールなどからも参照できるためツールの拡張などに使われることも多い
はっきり言って泥臭い、洗練された機構ではないのでメンテナンスは大変だが、ただの利用者の立場では便利なものだ
python、TypeScriptなどでは属性より柔軟性は低いものの十分な効果が得られ、より理解、実装が容易なデコレータというアイデアが導入された(ちなみにこれは関数を受け取り関数を返す関数だ)
C#にもデコレータがあれば良いのだが……まだまだ遅れてるね
属性はメタプログラミングで利用するもの
C#ではダイナミックに型情報にアクセスすることできるが、属性はその型情報に”お好みのラベル”を付与するための機構だ
ただラベルを貼り付けるだけではなんの意味もない
ラベルを解釈して振る舞いを変えるクライアントプログラムを作ることで、初めて属性に意味が生じる
同じ事をあちこちでやってるけど、クラスや関数など従来の言語基盤ではモジュール化しにくいもの
いわゆるアスペクトというものをモジュール化するための道具として使われることが多い
またIDEを初めとする周辺ツールなどからも参照できるためツールの拡張などに使われることも多い
はっきり言って泥臭い、洗練された機構ではないのでメンテナンスは大変だが、ただの利用者の立場では便利なものだ
python、TypeScriptなどでは属性より柔軟性は低いものの十分な効果が得られ、より理解、実装が容易なデコレータというアイデアが導入された(ちなみにこれは関数を受け取り関数を返す関数だ)
C#にもデコレータがあれば良いのだが……まだまだ遅れてるね
725デフォルトの名無しさん (ワッチョイ e7ad-BL7Q)
2021/05/04(火) 13:55:11.06ID:9VBk1Szv0 デコレータと属性は目的も実態も全く違うものだろ。
726デフォルトの名無しさん (ブーイモ MMcf-QYFT)
2021/05/04(火) 14:02:18.42ID:p57xGa3RM 同じものってどこかに書いたっけ?
属性とはこういうものだ
他の言語では(アスペクトの実装手段として)より洗練されたデコレータというものがあっていいなあ
という文脈だが?
属性とはこういうものだ
他の言語では(アスペクトの実装手段として)より洗練されたデコレータというものがあっていいなあ
という文脈だが?
727デフォルトの名無しさん (ワントンキン MMbf-tZna)
2021/05/04(火) 14:05:17.38ID:geYLSs/TM で、デコレータでどうやって開発時にObsoleteのようにメッセージを出すんだ?
Pythonみたいなデコレータじゃ実行時にしか出せないだろ
Pythonみたいなデコレータじゃ実行時にしか出せないだろ
728デフォルトの名無しさん (ブーイモ MMcf-QYFT)
2021/05/04(火) 14:07:36.50ID:p57xGa3RM 俺がいつデコレータで開発時メッセージを出す話をしたのかな?
729デフォルトの名無しさん (ワントンキン MMbf-tZna)
2021/05/04(火) 14:08:07.94ID:EiXw2d7yM お前がじゃなく、質問者がそう言っている
730デフォルトの名無しさん (ブーイモ MMcf-QYFT)
2021/05/04(火) 14:11:39.63ID:p57xGa3RM 質問者は”属性の有用性が理解できない”と聞いてきてる
Obsoleteはその例でしかない
であるので属性の一般的な説明と用途を説明し
その後に参考としてデコレータを紹介した
Obsoleteはその例でしかない
であるので属性の一般的な説明と用途を説明し
その後に参考としてデコレータを紹介した
731デフォルトの名無しさん (ブーイモ MMcf-QYFT)
2021/05/04(火) 14:17:24.30ID:p57xGa3RM 質問自体が”開発時メッセージを表示させたい、コントロールしたいがどうすればいいか”だったら、デコレータの話はなかっただろう
732デフォルトの名無しさん (ミカカウィ FFcb-tZna)
2021/05/04(火) 14:17:31.82ID:An0jw/zOF いや質問者はObsoleteのようなことがやりたくて属性を調べたけど結局何ができる機能なのかよく分からなかったと言ってるだろ
この文脈で>>724のように書かれたらデコレータでならやりたいことができると質問者が誤解してもおかしくない
不適切というか意地悪な回答だと思うぞ
この文脈で>>724のように書かれたらデコレータでならやりたいことができると質問者が誤解してもおかしくない
不適切というか意地悪な回答だと思うぞ
733デフォルトの名無しさん (ブーイモ MMcf-QYFT)
2021/05/04(火) 14:19:16.62ID:p57xGa3RM お前が俺を攻撃したいのはわかったが、もう少し冷静に考えてから攻撃したらどうだ?
毎回、返り討ちにされてはつまらないだろう?
毎回、返り討ちにされてはつまらないだろう?
734デフォルトの名無しさん (ワッチョイ e7ad-BL7Q)
2021/05/04(火) 14:19:35.90ID:9VBk1Szv0 属性とデコレータは似てるようで全然違うので、同列に扱うのがよくわからん。
TSのreflect-metadataなんかでもわかるように、あれはデコレータで属性を与えるようなものなのよ。
逆にJavaのように属性でデコレータを与えるようなものももちろんある。
javax.decoratorとかな。
属性は属性でデコレータとは本質的に無関係で同列で引き合いに出すものではない。
その言い方してると、Serializableの説明がしにくくなる。
TSのreflect-metadataなんかでもわかるように、あれはデコレータで属性を与えるようなものなのよ。
逆にJavaのように属性でデコレータを与えるようなものももちろんある。
javax.decoratorとかな。
属性は属性でデコレータとは本質的に無関係で同列で引き合いに出すものではない。
その言い方してると、Serializableの説明がしにくくなる。
735デフォルトの名無しさん (ワッチョイ e7ad-BL7Q)
2021/05/04(火) 14:20:23.79ID:9VBk1Szv0736デフォルトの名無しさん (ブーイモ MMcf-QYFT)
2021/05/04(火) 14:30:08.24ID:p57xGa3RM >>734
2回目だが同じとは誰も言ってないぞ
(アスペクト指向という)目的を達する手段が複数あり、片方がより洗練されていると言ったんだ
なぜこれで”属性とデコレータが同じものだ”になるのか理解し難い
2回目だが同じとは誰も言ってないぞ
(アスペクト指向という)目的を達する手段が複数あり、片方がより洗練されていると言ったんだ
なぜこれで”属性とデコレータが同じものだ”になるのか理解し難い
737デフォルトの名無しさん (ワッチョイ e7ad-BL7Q)
2021/05/04(火) 14:35:07.15ID:9VBk1Szv0 >>736
誰もアスペクト指向の話は求めてないし、アスペクト指向にも使えるのは事実だが、アスペクト指向のためだけのものではない。
属性は属性。
Webフレームワークのパンドラとかロガーみたいな、特定のアスペクト指向に使う用途しか知らないならそう言いなよ。
誰もアスペクト指向の話は求めてないし、アスペクト指向にも使えるのは事実だが、アスペクト指向のためだけのものではない。
属性は属性。
Webフレームワークのパンドラとかロガーみたいな、特定のアスペクト指向に使う用途しか知らないならそう言いなよ。
738デフォルトの名無しさん (ワッチョイ e7ad-BL7Q)
2021/05/04(火) 14:40:27.36ID:9VBk1Szv0 データバリデーションのIndexやRequired、シリアライズのJsonPropertyとかColumnなんかは、別にアスペクト指向として割り込むためのものでも集約するためのものでもない。
XamarinのAndroidのActivityなんかはビルド時にXML産むために定義したり。
XamarinのAndroidのActivityなんかはビルド時にXML産むために定義したり。
739デフォルトの名無しさん (ブーイモ MMcf-QYFT)
2021/05/04(火) 14:41:32.01ID:p57xGa3RM >>737
はぁ…何度目だ?
質問者は明にアスペクト指向の話を求めているわけではないが、属性の有用性についてコメントを求めている
で、あるならば属性の利用形態として大きなウェイトを占めるアスペクト指向について、言及しないわけにはいかない
属性は単なるラベルであり、クライアントによって様々な利用形態が考えられることは、俺が先に説明した通り
はぁ…何度目だ?
質問者は明にアスペクト指向の話を求めているわけではないが、属性の有用性についてコメントを求めている
で、あるならば属性の利用形態として大きなウェイトを占めるアスペクト指向について、言及しないわけにはいかない
属性は単なるラベルであり、クライアントによって様々な利用形態が考えられることは、俺が先に説明した通り
740デフォルトの名無しさん (ワントンキン MMbf-tZna)
2021/05/04(火) 14:44:33.97ID:NgJtJBuAM そうか?
C#で属性使ってアスペクト指向ってあまり一般的じゃないだろ
ヘルスバーグがAOP嫌いなのも有名な話だ
C#で属性使ってアスペクト指向ってあまり一般的じゃないだろ
ヘルスバーグがAOP嫌いなのも有名な話だ
741デフォルトの名無しさん (ワッチョイ e7ad-BL7Q)
2021/05/04(火) 14:46:49.09ID:9VBk1Szv0 >>739
属性の有用性はそれ以前の問題。
アスペクト指向に属性は実際問題必須ではない。
インターフェイスは要るがなw
単なるラベルであり様々な利用形態が、ってのは、わかってる相手に説明する方法であって、全く知らない人間に対しては何の説明でもない。せめてググるためのワードを出せよ。
属性の有用性はそれ以前の問題。
アスペクト指向に属性は実際問題必須ではない。
インターフェイスは要るがなw
単なるラベルであり様々な利用形態が、ってのは、わかってる相手に説明する方法であって、全く知らない人間に対しては何の説明でもない。せめてググるためのワードを出せよ。
742デフォルトの名無しさん (ワッチョイ df7c-KKDS)
2021/05/04(火) 14:50:23.97ID:wdzHnAM+0 初心者にまったく役に立たない話はここでしなきゃいいのでは?
743デフォルトの名無しさん (ワッチョイ e7ad-BL7Q)
2021/05/04(火) 14:52:35.33ID:9VBk1Szv0 別にね、アスペクト指向はルールベースでも良いのよ。
Rubyなんかだと命名でフックしたりするようにね。
Rubyなんかだと命名でフックしたりするようにね。
744デフォルトの名無しさん (ブーイモ MMcf-QYFT)
2021/05/04(火) 15:04:03.10ID:p57xGa3RM >>741
属性はAOPに必須ではないが、ないと非常に大雑把な実装になり、挙動のコントロールが難しくなるため、実用上はほぼ必須だよ
太平洋横断に船は必須ではない、と言うようなものだ、最後の旅にならないといいね
いやいや、何もわかってない人にこそ、属性とはただのラベルでしかない、と説明したほうがいい
ただのラベルということを理解してないと、元の質問者のように属性には開発者メッセージを出力したり、色んなことができる、なにか不思議な力がある魔法の道具なのかな、と誤って認識してしまうんだ
1. 属性には本当にラベル以上の意味は何もないし、何もしない
2. 何かするのは、そのラベルを見て処理をするクライアントプログラム
3. 何をするかは、そのクライアントプログラム次第で全く異なる
これが属性の基本の基本な
このシンプルな3つの事実を教えないで、有耶無耶にはぐらかすと、初心者が属性を理解できなくなってしまう
属性はAOPに必須ではないが、ないと非常に大雑把な実装になり、挙動のコントロールが難しくなるため、実用上はほぼ必須だよ
太平洋横断に船は必須ではない、と言うようなものだ、最後の旅にならないといいね
いやいや、何もわかってない人にこそ、属性とはただのラベルでしかない、と説明したほうがいい
ただのラベルということを理解してないと、元の質問者のように属性には開発者メッセージを出力したり、色んなことができる、なにか不思議な力がある魔法の道具なのかな、と誤って認識してしまうんだ
1. 属性には本当にラベル以上の意味は何もないし、何もしない
2. 何かするのは、そのラベルを見て処理をするクライアントプログラム
3. 何をするかは、そのクライアントプログラム次第で全く異なる
これが属性の基本の基本な
このシンプルな3つの事実を教えないで、有耶無耶にはぐらかすと、初心者が属性を理解できなくなってしまう
745デフォルトの名無しさん (ブーイモ MMcf-QYFT)
2021/05/04(火) 15:07:33.04ID:p57xGa3RM ほぼ必須といったのは誤解を生むかもしれないな
デコレータのようなより洗練された機構が無く、AOPをメタプログラミングで実装する以外の選択肢に乏しい言語にとっては、ほぼ必須と訂正しておこう
デコレータのようなより洗練された機構が無く、AOPをメタプログラミングで実装する以外の選択肢に乏しい言語にとっては、ほぼ必須と訂正しておこう
746デフォルトの名無しさん (ワッチョイ e7ad-BL7Q)
2021/05/04(火) 15:16:46.55ID:9VBk1Szv0 だから、そんな話はしてないの。AOPとか。
デコレータの話が蛇足な上、その根拠のAOPの話が蛇足だったのよ。
属性はただのラベルではない。
誰かが読み取るためのラベル。
それはシリアライザだったり、コンパイラだったり、Webサーバのランタイムだったり様々だけど。
だから、Obsoleteなんかが意味を成すんであって。
現実的にC#の属性はAOPのためのものではない以上、蛇足そのものでしょ。
だから頭でっかちだと言ってるんだよ。
「ただのラベル」こそ「うやむやにはぐらかしてる」でしょ。
デコレータの話が蛇足な上、その根拠のAOPの話が蛇足だったのよ。
属性はただのラベルではない。
誰かが読み取るためのラベル。
それはシリアライザだったり、コンパイラだったり、Webサーバのランタイムだったり様々だけど。
だから、Obsoleteなんかが意味を成すんであって。
現実的にC#の属性はAOPのためのものではない以上、蛇足そのものでしょ。
だから頭でっかちだと言ってるんだよ。
「ただのラベル」こそ「うやむやにはぐらかしてる」でしょ。
747デフォルトの名無しさん (ワッチョイ 0778-OedE)
2021/05/04(火) 15:18:25.60ID:F3N+oY4e0 ふらっと C#,C♯,C#(議論用) [無断転載禁止]©2ch.net
https://mevius.5ch.net/test/read.cgi/tech/1469538912/
https://mevius.5ch.net/test/read.cgi/tech/1469538912/
748デフォルトの名無しさん (ワッチョイ e7ad-BL7Q)
2021/05/04(火) 15:18:59.72ID:9VBk1Szv0 じゃああっちで。
749デフォルトの名無しさん (ワッチョイ 7fa7-wijr)
2021/05/04(火) 15:42:18.40ID:vNyUKbw80 デコーダ太郎は責任とってクビ吊れ
750デフォルトの名無しさん (ブーイモ MMcf-QYFT)
2021/05/04(火) 15:43:52.50ID:/UxZFiSCM >>746
>属性はただのラベルではない。
>誰かが読み取るためのラベル。
それをただのラベルっていうんだよ
読み取る側がそのラベルを見て何らかの作用を起こすまではなにもしない
まさにただのラベルだな
>属性はただのラベルではない。
>誰かが読み取るためのラベル。
それをただのラベルっていうんだよ
読み取る側がそのラベルを見て何らかの作用を起こすまではなにもしない
まさにただのラベルだな
751デフォルトの名無しさん (ワッチョイ e7ad-BL7Q)
2021/05/04(火) 15:54:23.06ID:9VBk1Szv0 >>750
しつこいわ。
しつこいわ。
752デフォルトの名無しさん (ブーイモ MMcf-QYFT)
2021/05/04(火) 16:04:50.31ID:/UxZFiSCM753デフォルトの名無しさん (ワッチョイ e7ad-BL7Q)
2021/05/04(火) 16:08:55.98ID:9VBk1Szv0 お前の理想以外聞き入れないなら、ブーメランでもなんでもないわ。
754デフォルトの名無しさん (ブーイモ MMcf-QYFT)
2021/05/04(火) 16:10:37.11ID:B/7UzgrKM というブーメランなのでした
ちゃんちゃん
ちゃんちゃん
755デフォルトの名無しさん (ワッチョイ df01-i6Oo)
2021/05/04(火) 17:28:51.83ID:DanBAz9l0756デフォルトの名無しさん (オッペケ Sr5b-sT2V)
2021/05/05(水) 09:44:41.21ID:0AxeylkVr 昨日は頭のおかしい人が大活躍してたみたいだな
策っとNGしときましょう
策っとNGしときましょう
757デフォルトの名無しさん (ワッチョイ eaba-dxvU)
2021/05/07(金) 00:21:29.88ID:Oi9dh/iA0 WebClient使ってWebサイトのhtmlを文字列として取得したいんですが、
読み込みに数十秒かかるような重いページだと、途中でエラーします。
そんなページでもエラー無く読み取る方法有りますか?
読み込みに数十秒かかるような重いページだと、途中でエラーします。
そんなページでもエラー無く読み取る方法有りますか?
758デフォルトの名無しさん (ワッチョイ 2ae6-YEtS)
2021/05/07(金) 00:26:59.06ID:xGNvq5Jp0 Irvine
759デフォルトの名無しさん (ワッチョイ eaba-dxvU)
2021/05/07(金) 00:34:48.56ID:Oi9dh/iA0 >>758
それはC#から呼び出して使えますか?
それはC#から呼び出して使えますか?
760デフォルトの名無しさん (ワッチョイ da2d-gUNg)
2021/05/07(金) 00:39:08.58ID:rhVsIWeg0 >>757
HttpClientクラス使った方が良いと思うけど
WebClientクラスの場合は、GetWebRequest()をオーバライドして
WebRequest.TimeoutプロパティとHttpWebRequest.ReadWriteTimeoutプロパティを設定
HttpClientクラス使った方が良いと思うけど
WebClientクラスの場合は、GetWebRequest()をオーバライドして
WebRequest.TimeoutプロパティとHttpWebRequest.ReadWriteTimeoutプロパティを設定
761デフォルトの名無しさん (ワッチョイ eaba-dxvU)
2021/05/07(金) 00:43:50.02ID:Oi9dh/iA0 >>760
ありがとうございます。
>GetWebRequest()をオーバライド
は既に試したんですが、相変わらずエラーで中断します。
>HttpClientクラス使った方が良いと思うけど
それは何故でしょうか?
ありがとうございます。
>GetWebRequest()をオーバライド
は既に試したんですが、相変わらずエラーで中断します。
>HttpClientクラス使った方が良いと思うけど
それは何故でしょうか?
762デフォルトの名無しさん (ワッチョイ bef2-M6Ch)
2021/05/07(金) 02:50:42.19ID:sg0+DWIO0 どんなエラーが出るのよ
763デフォルトの名無しさん (ワッチョイ 7f54-Ulvp)
2021/05/07(金) 03:48:20.57ID:bebMDo2e0 DLしたいサイトのURL教えてもらっただけでだいぶはかどるよね。
764デフォルトの名無しさん (ワッチョイ 6a79-EEf/)
2021/05/07(金) 04:25:10.15ID:Bc+rT72I0 中華から攻撃受けてるときの重いふたばとか
765デフォルトの名無しさん (ワッチョイ 9f5f-DjaX)
2021/05/07(金) 04:39:35.33ID:FF3+CPRk0 デフォルトだとタイムアウトが足りてないだけなんじゃないの?
766デフォルトの名無しさん (ワッチョイ 6a01-wt3T)
2021/05/07(金) 05:39:50.22ID:LQe9nctZ0 > 途中でエラーします。
エラーしますとか変な日本語使う奴の相手はしない
エラーしますとか変な日本語使う奴の相手はしない
767デフォルトの名無しさん (ワッチョイ 33ad-K+t/)
2021/05/07(金) 08:08:05.60ID:n4YBHC+Y0 エラーいたします。
768デフォルトの名無しさん (ワッチョイ cf33-erDI)
2021/05/07(金) 08:28:13.14ID:96M3luB+0 エラーがございます
769デフォルトの名無しさん (ワッチョイ d35f-O1HG)
2021/05/07(金) 08:44:51.51ID:1BryI6MR0 エラーなさる
770デフォルトの名無しさん (ワッチョイ 73b5-fceI)
2021/05/07(金) 11:18:16.60ID:4XrAAqdx0 エラーになられます
771デフォルトの名無しさん (ワッチョイ 2fb0-DjaX)
2021/05/07(金) 11:23:53.77ID:ckc6TxMx0 エラー仕る
772デフォルトの名無しさん (ブーイモ MM97-tepi)
2021/05/07(金) 12:35:02.79ID:iq1HEmUXM エラー参上
773デフォルトの名無しさん (ワッチョイ fb24-jjtP)
2021/05/07(金) 12:37:58.01ID:RB8Fe90n0 >>764
ふたばってもう誰も見てないだろうけどどんな理由で攻撃してくるの?
ふたばってもう誰も見てないだろうけどどんな理由で攻撃してくるの?
774デフォルトの名無しさん (ワッチョイ 73b5-fceI)
2021/05/07(金) 15:59:09.92ID:4XrAAqdx0 尖閣諸島を渡せ
775デフォルトの名無しさん (ワッチョイ d35f-t4JP)
2021/05/07(金) 18:28:13.92ID:1BryI6MR0 エラー渡し
776デフォルトの名無しさん (ワッチョイ 7eda-9tq9)
2021/05/07(金) 21:30:40.73ID:S8eSOzgY0 エラー呼吸
777デフォルトの名無しさん (ワッチョイ 33ad-KFDE)
2021/05/07(金) 21:31:58.32ID:Bgw7HCHL0 さくらタンのエラー画像キボンヌ
778デフォルトの名無しさん (ワッチョイ 73b5-fceI)
2021/05/08(土) 00:36:51.80ID:onVLUDOF0 (*´Д`)ハァハァ
779デフォルトの名無しさん (アウアウエー Sae2-8hOh)
2021/05/08(土) 11:24:07.14ID:Yiqu4oaaa くだらん
780デフォルトの名無しさん (スプッッ Sd2a-5xeF)
2021/05/08(土) 12:22:03.93ID:oZ/joMMLd #region って使わない方が良いのですか?
プライベートメソッドがたくさんあるとき隠すのは駄目ですか?
プライベートメソッドがたくさんあるとき隠すのは駄目ですか?
781デフォルトの名無しさん (ブーイモ MMd6-D3Lk)
2021/05/08(土) 12:29:25.27ID:Hz73TWc7M 好きにしたらいいよ
長いコードをリージョンで隠すより
短く書いたほうがいいと思うがね
長いコードをリージョンで隠すより
短く書いたほうがいいと思うがね
782デフォルトの名無しさん (ワッチョイ f3de-wGCM)
2021/05/08(土) 13:33:49.15ID:IqHZyMf20 ウザい
使うメソッドの周辺に置いておいてよ
publicとかprivateでリージョン切るやついるけどセンスの欠片もないな
使うメソッドの周辺に置いておいてよ
publicとかprivateでリージョン切るやついるけどセンスの欠片もないな
783デフォルトの名無しさん (スッップ Sd8a-6gku)
2021/05/08(土) 13:41:33.11ID:75Tkj6otd 積極的に使いたいとは思わないな>#region
784デフォルトの名無しさん (ワッチョイ 2fb0-DjaX)
2021/05/08(土) 14:09:56.67ID:CLNCGw4K0 レガシーコード解読してるときに、コメントがてら一先ずregion使った
785デフォルトの名無しさん (スッップ Sd8a-6gku)
2021/05/08(土) 14:14:41.59ID:75Tkj6otd #region使わんといけないほどになったらクラス分けてほしいな
実際にはなかなかそういう自由はないかもしれないけど
実際にはなかなかそういう自由はないかもしれないけど
786デフォルトの名無しさん (ワッチョイ f3de-wGCM)
2021/05/08(土) 14:16:26.79ID:HwrhuFxX0 分ける方向がクソなときにウザい
1つのpublicにいくつかのprivateがくっついてるのに
publicやprivateでリージョン切るなや下手クソ
1つのpublicにいくつかのprivateがくっついてるのに
publicやprivateでリージョン切るなや下手クソ
787デフォルトの名無しさん (アウアウウー Sa1f-dxvU)
2021/05/08(土) 14:18:11.82ID:ub5A9aINa >>780
身もふたもないけど使い方次第だね。
#regionディレクティブはコードを分類するのとあまり見る必要がないコードを隠すのに
使えるけど、後者の使い方はあまり必要がない
自分はデカいクラスでMSのドキュメントみたいにメンバーを種類ごとに分類するのに使ったり、
ある程度以上の規模のFormで例えばメニューのイベントハンドラを分類するのに使ってる
身もふたもないけど使い方次第だね。
#regionディレクティブはコードを分類するのとあまり見る必要がないコードを隠すのに
使えるけど、後者の使い方はあまり必要がない
自分はデカいクラスでMSのドキュメントみたいにメンバーを種類ごとに分類するのに使ったり、
ある程度以上の規模のFormで例えばメニューのイベントハンドラを分類するのに使ってる
788デフォルトの名無しさん (ワッチョイ 6642-jjtP)
2021/05/08(土) 14:21:20.00ID:nusrVvaZ0 拡張のcodemaidで適当に分けてもらう
789デフォルトの名無しさん (ワッチョイ bb4f-DjaX)
2021/05/08(土) 14:21:52.55ID:L+qXSIbq0 private隠す#regionは使うけどな。どのへんがダメ?
790デフォルトの名無しさん (ブーイモ MMd6-D3Lk)
2021/05/08(土) 14:25:10.15ID:43bBwuymM 隠したくなるということは、隠さないと鬱陶しいぐらい長いコード、ということだから、そのあたりだろうね
791デフォルトの名無しさん (ファミワイ FF97-6gku)
2021/05/08(土) 14:28:22.99ID:/jodR7lWF 呼び出し階層を無視して十把一絡げに「private」だけで括ろうとするのはどうかなとは思う
792デフォルトの名無しさん (ワッチョイ bb4f-DjaX)
2021/05/08(土) 14:34:26.57ID:L+qXSIbq0 コードスメル的な意味かな?具体的に何が悪いのかよくわからんけど。
793デフォルトの名無しさん (ワッチョイ a6da-XZlr)
2021/05/08(土) 14:34:33.08ID:pDWBcfg30 /// <summary>
/// ・・・
/// </summary>
private int mHoge;
/// <summary>
/// ・・・
/// </summary>
public int Hoge { get => 0 == this.mHoge ? 1 : this.mHoge; }
で、それぞれに同じコメント書くのが非常にだるい。
なにかうまい方法ないですか?
/// ・・・
/// </summary>
private int mHoge;
/// <summary>
/// ・・・
/// </summary>
public int Hoge { get => 0 == this.mHoge ? 1 : this.mHoge; }
で、それぞれに同じコメント書くのが非常にだるい。
なにかうまい方法ないですか?
794デフォルトの名無しさん (スッップ Sd8a-6gku)
2021/05/08(土) 14:44:03.29ID:75Tkj6otd >>793
コレどう?
<inheritdoc> - C# プログラミング ガイド | Microsoft Docs https://docs.microsoft.com/ja-jp/dotnet/csharp/programming-guide/xmldoc/inheritdoc
コレどう?
<inheritdoc> - C# プログラミング ガイド | Microsoft Docs https://docs.microsoft.com/ja-jp/dotnet/csharp/programming-guide/xmldoc/inheritdoc
795デフォルトの名無しさん (ワッチョイ a6da-XZlr)
2021/05/08(土) 14:50:55.43ID:pDWBcfg30796デフォルトの名無しさん (アウアウウー Sa1f-dxvU)
2021/05/08(土) 15:26:30.05ID:X8Zwq8nja >>789
privateの意味を誤解してる気が
privateの意味はそのコードを利用する側の人は見る必要がないって意味だよね?
ソースコードを見てる人はその時点で「利用する側」か?
普通は違うよね?書く側の人に対して隠す意味は普通はない。
もちろん「まず見る必要がないから畳んでおきたい」需要が絶対にないとまでは言い切れんとは思うけど。
privateの意味を誤解してる気が
privateの意味はそのコードを利用する側の人は見る必要がないって意味だよね?
ソースコードを見てる人はその時点で「利用する側」か?
普通は違うよね?書く側の人に対して隠す意味は普通はない。
もちろん「まず見る必要がないから畳んでおきたい」需要が絶対にないとまでは言い切れんとは思うけど。
797デフォルトの名無しさん (アウアウウー Sa1f-dxvU)
2021/05/08(土) 15:28:42.58ID:X8Zwq8nja ちなみに、VSのエディタにはメソッドのシグネチャ以外の部分を畳む機能もあるけど俺はあれは嫌い。
ただの食わず嫌いかもしれないが
ただの食わず嫌いかもしれないが
798デフォルトの名無しさん (ワッチョイ bb4f-DjaX)
2021/05/08(土) 15:42:24.39ID:L+qXSIbq0799デフォルトの名無しさん (ブーイモ MM97-G81e)
2021/05/08(土) 16:10:59.65ID:0QGgEZ+BM 長大なメソッドの中身をregion使って折りたたんだら短く見えるからいいよね
800デフォルトの名無しさん (ワッチョイ 2fb0-DjaX)
2021/05/08(土) 16:27:25.48ID:CLNCGw4K0 コンストラクタとかで引数チェックする場合ってDebug.Asset使う? ifと組み合わせて例外投げる?
801デフォルトの名無しさん (ワッチョイ 3ebb-krZt)
2021/05/08(土) 17:12:49.71ID:6pb9v2QO0 macOSに新しい.NET Core SDK/ .Net 5 SDKを入れ続けていると、何バージョン分もディレクトリが掘られて増えていきます
公式では、いらないものを単純にディレクトリごと削除して良いようなことが指示されていますが、これらのディレクトリのパスをdotnetコマンドに知らせている設定部分はどこにあるのですか?
公式では、いらないものを単純にディレクトリごと削除して良いようなことが指示されていますが、これらのディレクトリのパスをdotnetコマンドに知らせている設定部分はどこにあるのですか?
802デフォルトの名無しさん (スプッッ Sd2a-5xeF)
2021/05/08(土) 17:41:35.40ID:oZ/joMMLd ありがとうございますm(_ _)m
#region は気を付けます
#region は気を付けます
803デフォルトの名無しさん (スッップ Sd8a-6gku)
2021/05/08(土) 18:05:57.33ID:jYvDj1vcd >>800
コンストラクタで例外投げたくないな
引数はフィールドにセットするだけでそれ以外は基本しない
検証するなら別のメソッドにするかコンストラクタ隠蔽して検証しつつインスタンス返すstaticなメソッド作る
コンストラクタで例外投げたくないな
引数はフィールドにセットするだけでそれ以外は基本しない
検証するなら別のメソッドにするかコンストラクタ隠蔽して検証しつつインスタンス返すstaticなメソッド作る
804デフォルトの名無しさん (ラクッペペ MMe6-kG12)
2021/05/08(土) 18:15:04.80ID:+DU/XhxNM 20年前に見たような話で頭がくらくらする
805デフォルトの名無しさん (スッップ Sd8a-6gku)
2021/05/08(土) 18:24:03.67ID:jYvDj1vcd まあまあ
806デフォルトの名無しさん (ブーイモ MMd6-D3Lk)
2021/05/08(土) 19:33:57.25ID:6+YQB65FM >>800
普通にifで調べて、普通に例外を投げてくれ
引数がおかしいならArgumentExceptionとか適当なのあるでしょ
引数が増えるとifを書くのがしんどくなるかもしれないが、そのときは関数化しよう
そもそもDebug.Assertは滅多に使わないものと考えていい
デバッグビルドとリリースビルドで挙動が違うというのは、それだけで本番でしか発生しないバグを生みかねないものなので、可能な限り避けるべきだ
コンストラクタで例外を投げたくないとか言ってる人は、気にしなくていい
昔はそういう流派もあったんだな、とでも考えてくれ
普通にifで調べて、普通に例外を投げてくれ
引数がおかしいならArgumentExceptionとか適当なのあるでしょ
引数が増えるとifを書くのがしんどくなるかもしれないが、そのときは関数化しよう
そもそもDebug.Assertは滅多に使わないものと考えていい
デバッグビルドとリリースビルドで挙動が違うというのは、それだけで本番でしか発生しないバグを生みかねないものなので、可能な限り避けるべきだ
コンストラクタで例外を投げたくないとか言ってる人は、気にしなくていい
昔はそういう流派もあったんだな、とでも考えてくれ
807デフォルトの名無しさん (オッペケ Sr33-jjtP)
2021/05/08(土) 19:50:29.55ID:opSybYm9r .net frameworkのコンストラクタでもそうやってた
今のは知らん
今のは知らん
808デフォルトの名無しさん (オッペケ Sr33-jjtP)
2021/05/08(土) 19:57:02.17ID:opSybYm9r コンストラクタで例外投げろ
それ以外はゆるさない
XXX.Create("test");の戻り値nullチェックみたいのはバグの温床だから許さん
それ以外はゆるさない
XXX.Create("test");の戻り値nullチェックみたいのはバグの温床だから許さん
809デフォルトの名無しさん (ワッチョイ 73e3-jjtP)
2021/05/08(土) 20:01:04.70ID:Yl7KxUAk0 UnhandledExceptionの処理やるだろうしコンストラクタで例外投げてもいいと思うけどね
810デフォルトの名無しさん (スッップ Sd8a-6gku)
2021/05/08(土) 20:22:02.19ID:jYvDj1vcd 最近はそうなのか
自分も認識改めるわ
自分も認識改めるわ
811デフォルトの名無しさん (ワッチョイ bb01-IK/p)
2021/05/08(土) 20:24:43.64ID:LkrBFLk10 9.0のrecordってデータベースとのやり取りに使うシンプルなクラスには積極的に使っていったほうがええんかね?
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【無言】中国怒らせた高市首相→1週間だんまり、国民に実害も説明なし 中国問題を避けてスルー… ★9 [BFU★]
- 【🍝】「偽カルボナーラ」にイタリア激怒、パンチェッタの使用は「犯罪」と非難 [Ailuropoda melanoleuca★]
- 【速報】 植田日銀総裁 「円安進行が物価高を起こしている」 [お断り★]
- 中国で喧伝される「日本苦境論」、中国ネットは懐疑的「日本人は実際は喜んでいるのでは?」「日中共に『こっちが勝った』って言ってる」 [1ゲットロボ★]
- 日本行き航空券キャンセル54万件以上 中国国営メディア報道「キャンセルの寒波」 [♪♪♪★]
- 【無言】中国怒らせた高市首相→1週間だんまり、国民に実害も説明なし 中国問題を避けてスルー… ★10 [BFU★]
- 【悲報】100年前ジャップ「暴支膺懲!」今ジャップ「暴支膺懲!」 [616817505]
- 【速報】高市早苗、メディア相手に囲み会見中 [452836546]
- 【高市悲報】ドイツ銀「早苗ショック、あるかも」 [115996789]
- 🏡パンかお米どっち派?🍞🍞😅🍚🍚🏡
- 牛角行くけど、食べ放題or個別注文
- 【悲報】サマーウォーズ監督最新作「果てしなきスカーレット」着席率5%切る
