「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、
質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください
>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■関連スレ
C#, C♯, C#相談室 Part93
https://mevius.5ch.net/test/read.cgi/tech/1492818720/
■前スレ
ふらっと C#,C♯,C#(初心者用) Part137
https://mevius.5ch.net/test/read.cgi/tech/1523004019/
■コードを貼る場合は↓を使いましょう。
http://ideone.com/
https://dotnetfiddle.net/
■情報源
https://msdn.microsoft.com/ja-jp/library/gg145045.aspx
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/index
https://msdn.microsoft.com/en-us/library/gg145045.aspx
http://referencesource.microsoft.com/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
探検
ふらっと C#,C♯,C#(初心者用) Part138
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 369a-msj4)
2018/06/05(火) 19:32:42.28ID:70UTtyrn0255デフォルトの名無しさん (アウアウウー Sae3-GwbS)
2018/06/22(金) 12:11:16.45ID:mIOgjjA8a フラットデザインは最近はやりのユニバーサルデザインとは真逆
256デフォルトの名無しさん (オッペケ Srf3-x3o9)
2018/06/22(金) 12:11:51.14ID:U+1NZIRBr257デフォルトの名無しさん (ワントンキン MMdf-h3K6)
2018/06/22(金) 12:19:03.29ID:D0ZAUiXgM 第2版が出てたんだな
ステマか
ステマか
258デフォルトの名無しさん (ブーイモ MM43-uoyT)
2018/06/22(金) 14:40:02.21ID:+QjyPCKBM ダイレクトやろ
259デフォルトの名無しさん (ワッチョイ 7f11-8g2T)
2018/06/22(金) 17:59:11.25ID:32SF4tM80 むしろサードパーティマーケティング
260デフォルトの名無しさん (バットンキン MM33-+a6w)
2018/06/22(金) 18:01:56.90ID:v3P4scZFM 今年独り社内SEとして入社しC#を選んだ者ですが、コンストラクタをオーバーロードして引数が有るものと無いものを作りました
よくよく考えると引数が無いコンストラクタのインスタンスを作って引数有りを前提にしたメソッドをコールすると最悪例外を出してしまうのですが、これは設計不良として検討し直しでしょうか?よくある事として許容されるでしょうか?
よくよく考えると引数が無いコンストラクタのインスタンスを作って引数有りを前提にしたメソッドをコールすると最悪例外を出してしまうのですが、これは設計不良として検討し直しでしょうか?よくある事として許容されるでしょうか?
261デフォルトの名無しさん (ワッチョイ ff9a-qn6i)
2018/06/22(金) 18:07:20.69ID:j0bZxxMK0262260 (バットンキン MM33-+a6w)
2018/06/22(金) 18:21:23.38ID:v3P4scZFM やっぱり設計の問題ですよね
フィールドに初期値入れれば例外は起きないと思いますが、引数必須のインスタンスを作られたら無意味なメソッドが完成するというのは設計者失格ですよね
フィールドに初期値入れれば例外は起きないと思いますが、引数必須のインスタンスを作られたら無意味なメソッドが完成するというのは設計者失格ですよね
263デフォルトの名無しさん (ワッチョイ ff9a-qn6i)
2018/06/22(金) 18:35:58.53ID:j0bZxxMK0 >無意味なメソッドが完成する
メソッド書き直すとかないんだ・・・
普通は条件が違えば呼ばれないようにするとかメソッド内部で分岐させるとかいろいろあると思うんだが
メソッド書き直すとかないんだ・・・
普通は条件が違えば呼ばれないようにするとかメソッド内部で分岐させるとかいろいろあると思うんだが
264デフォルトの名無しさん (ワッチョイ 7f9d-hF4h)
2018/06/22(金) 19:36:18.31ID:fkpP2SFC0265デフォルトの名無しさん (アウアウエー Sa7f-3IMT)
2018/06/22(金) 19:43:22.50ID:RGVBxohIa >>260
設計不良は大げさ過ぎw
普通に考えて
(1) 引数ありのメソッドは廃止。代わりにそのデータはプロパティでセットできるようにする。
(2) 引数なしのコンストラクタが呼ばれた時はプロパティの値は規定値が設定されるようにする
こんだけでしょう
設計不良は大げさ過ぎw
普通に考えて
(1) 引数ありのメソッドは廃止。代わりにそのデータはプロパティでセットできるようにする。
(2) 引数なしのコンストラクタが呼ばれた時はプロパティの値は規定値が設定されるようにする
こんだけでしょう
266デフォルトの名無しさん (ワンミングク MMdf-cOHa)
2018/06/22(金) 19:58:18.66ID:KB00qr+FM >>264
データベース管理者から、なるべく接続を増やすなと言われてます。複数のPCから複数のアプリでアクセスするので、窓口を一本化するイメージです。
なのでプーリングはアプリ分の接続が残るので逆効果。
キャッシュを使うとは具体的にはどうするのですか?ググるヒントをもう少しください。
データベース管理者から、なるべく接続を増やすなと言われてます。複数のPCから複数のアプリでアクセスするので、窓口を一本化するイメージです。
なのでプーリングはアプリ分の接続が残るので逆効果。
キャッシュを使うとは具体的にはどうするのですか?ググるヒントをもう少しください。
267デフォルトの名無しさん (ワッチョイ 7f9d-hF4h)
2018/06/22(金) 20:38:24.35ID:fkpP2SFC0268デフォルトの名無しさん (オイコラミネオ MM8f-DXx3)
2018/06/22(金) 20:58:02.81ID:atRhX3PgM269デフォルトの名無しさん (ワッチョイ ffc9-GwbS)
2018/06/22(金) 22:05:33.33ID:rFBnrjcr0 >>266
接続ユーザー分排他でもするのかよw
接続ユーザー分排他でもするのかよw
270デフォルトの名無しさん (ワッチョイ ffed-DJU/)
2018/06/22(金) 23:04:03.86ID:TC2xExz/0 4msのインターバルタイマを実現するのにおすすめの方法を教えてください
271デフォルトの名無しさん (ワッチョイ 9f83-DJU/)
2018/06/22(金) 23:08:50.34ID:6eBOmsiI0 リアルタイムOSをインストールする
272デフォルトの名無しさん (ワッチョイ ff33-mTVk)
2018/06/23(土) 00:01:03.09ID:9nwowUkH0 USBシリアル付きマイコンから適当にパルスを送ってもらう
数百円ぐらい
数百円ぐらい
273デフォルトの名無しさん (ワッチョイ 1f06-cOHa)
2018/06/23(土) 00:04:23.96ID:4A65QZOx0 >>267
クライアントPCからデータベースに接続します。webサービスで排他処理します。
サーバーの負担を増やしたくないとの事で、とにかく同時期にセッションを増やさないという方針は決定してます。
なので排他処理はどこかでやる事になるのですが、どこかのPCで動くアプリよりやり取りも含めて楽かなと思ったのですが。
クライアントPCからデータベースに接続します。webサービスで排他処理します。
サーバーの負担を増やしたくないとの事で、とにかく同時期にセッションを増やさないという方針は決定してます。
なので排他処理はどこかでやる事になるのですが、どこかのPCで動くアプリよりやり取りも含めて楽かなと思ったのですが。
274デフォルトの名無しさん (ワッチョイ ffed-DJU/)
2018/06/23(土) 00:07:55.71ID:OXSP1qkx0275デフォルトの名無しさん (アウアウウー Sae3-STG2)
2018/06/23(土) 00:27:06.35ID:YVqCYnTIa >>273
データアクセスのためのAPI作れば
データアクセスのためのAPI作れば
276デフォルトの名無しさん (ワッチョイ ffed-DJU/)
2018/06/23(土) 01:52:54.43ID:OXSP1qkx0277デフォルトの名無しさん (ワッチョイ 7f9d-hF4h)
2018/06/23(土) 02:29:38.11ID:RCtrcOsy0278デフォルトの名無しさん (ワンミングク MMdf-h3K6)
2018/06/23(土) 06:55:53.26ID:DOoRmJ6HM >>273
webサービスの中で普通にコネクションを開いて使い終わったらすぐにDisposeすればいいよ
ライブラリがいい感じにコネクション数を調整してくれる
どうしてもマニュアルでコネクションの数を制御したいならDB要求をループで処理し続けるスレッドを走らせて、他のスレッドとはキューで連携させる
webサービスの中で普通にコネクションを開いて使い終わったらすぐにDisposeすればいいよ
ライブラリがいい感じにコネクション数を調整してくれる
どうしてもマニュアルでコネクションの数を制御したいならDB要求をループで処理し続けるスレッドを走らせて、他のスレッドとはキューで連携させる
279デフォルトの名無しさん (ラクッペ MM33-2vzp)
2018/06/23(土) 07:53:25.35ID:5eZj9LlZM web側でmax connection pool sizeを設定するだけの話に見えるが
そういう設定が無いからどうしたらいいかって話なの?
そういう設定が無いからどうしたらいいかって話なの?
280デフォルトの名無しさん (ワッチョイ 1f75-E6HK)
2018/06/23(土) 09:10:53.59ID:kilEB0fc0 tes
281デフォルトの名無しさん (ワッチョイ 1f75-E6HK)
2018/06/23(土) 11:25:15.28ID:kilEB0fc0 test
282デフォルトの名無しさん (ワッチョイ 1f75-E6HK)
2018/06/23(土) 11:28:34.91ID:kilEB0fc0 fwくぇ
283デフォルトの名無しさん (ワッチョイ 1f75-E6HK)
2018/06/23(土) 11:42:17.32ID:kilEB0fc0 fwq
284デフォルトの名無しさん (ワッチョイ 1f75-E6HK)
2018/06/23(土) 11:44:04.15ID:kilEB0fc0 fwqef
285デフォルトの名無しさん (ワッチョイ ff81-2vzp)
2018/06/23(土) 12:01:17.59ID:AshQdjwf0 よそでやれ
286デフォルトの名無しさん (アウアウカー Sa93-PGhQ)
2018/06/23(土) 12:23:56.69ID:RL7TWjJda >>262
引数なしのコンストラクタをprivateに
引数なしのコンストラクタをprivateに
287デフォルトの名無しさん (ワッチョイ 7f9d-hF4h)
2018/06/23(土) 17:51:20.90ID:RCtrcOsy0 >>286
それだと(外部から)引数必須なインスタンスしか作れなくなる
それが設計通りならそれでいいけど
引数必須なインスタンスと引数なしのインスタンスが同一クラスである必要あるのか疑問だ
引数なしのクラスを継承して引数ありのクラス作れば良い気がするぞ
それだと(外部から)引数必須なインスタンスしか作れなくなる
それが設計通りならそれでいいけど
引数必須なインスタンスと引数なしのインスタンスが同一クラスである必要あるのか疑問だ
引数なしのクラスを継承して引数ありのクラス作れば良い気がするぞ
288デフォルトの名無しさん (ワッチョイ 7fe3-ASSz)
2018/06/23(土) 18:04:38.51ID:61tHQZae0 引数一個で騒々しいソースコードですね
289デフォルトの名無しさん (ワッチョイ 7f9d-fJsd)
2018/06/23(土) 22:33:46.94ID:RCtrcOsy0 動けば良いってなら好きにすればいいさ
設計論として考えるとどうしても大仰になるのはしかたない
設計論として考えるとどうしても大仰になるのはしかたない
290デフォルトの名無しさん (ワッチョイ ff81-2vzp)
2018/06/23(土) 22:44:50.08ID:AshQdjwf0 クレデンシャルを持ってる場合だけ一部の関数が使えるとか
別に珍しい設計じゃないと思うけどね
別に珍しい設計じゃないと思うけどね
291デフォルトの名無しさん (ワッチョイ 7fe3-ASSz)
2018/06/24(日) 00:05:43.76ID:LwX9ZOYW0292デフォルトの名無しさん (アウアウエー Sa7f-3IMT)
2018/06/24(日) 00:10:47.78ID:tHXuj/n7a ああ、なんか質問を読み違えてたけど、
要は現実の使われ方として、特定のプロパティがまったく必要とされないケースがあるってことね。
単純に考えると>>287がシンプルで分かりやすいように思うけど
ケースバイケースではあるが、一つのプロパティを追加しただけのサブクラスってのも
存在意義がはっきりしないというか、名前付けに困るようなクラスになりがちのようにも思う
コンストラクタで明示的に指定されない場合はプロパティの値が規定値としておくのが
無難なケースの方が多いと思うけどね
要は現実の使われ方として、特定のプロパティがまったく必要とされないケースがあるってことね。
単純に考えると>>287がシンプルで分かりやすいように思うけど
ケースバイケースではあるが、一つのプロパティを追加しただけのサブクラスってのも
存在意義がはっきりしないというか、名前付けに困るようなクラスになりがちのようにも思う
コンストラクタで明示的に指定されない場合はプロパティの値が規定値としておくのが
無難なケースの方が多いと思うけどね
293デフォルトの名無しさん (ワッチョイ 7f9d-fJsd)
2018/06/24(日) 01:25:17.80ID:GW8ybopf0294デフォルトの名無しさん (ワッチョイ 1f56-DJU/)
2018/06/24(日) 23:01:38.61ID:euoTg7OM0 webBrowser1.documentText=hoge;
で生成したHTML中にページ内リンクがあります。
(<span id="xxx"></span>)
クリック操作をせずにこのアンカーにジャンプすることはできるのでしょうか?
で生成したHTML中にページ内リンクがあります。
(<span id="xxx"></span>)
クリック操作をせずにこのアンカーにジャンプすることはできるのでしょうか?
295デフォルトの名無しさん (ワッチョイ ff33-mTVk)
2018/06/24(日) 23:35:19.41ID:+Dnac0xs0 webBrowser1.Document.GetElementById("xxx").InvokeMember("Click");
296デフォルトの名無しさん (ワッチョイ 1f56-DJU/)
2018/06/24(日) 23:43:26.59ID:euoTg7OM0 エラーは出ないのですが、ジャンプはしてくれませんでした。
単なるアンカーなので、直接それをクリックしても意味はなくて、
<a href="#xxx">XXX</a>をクリックするようにしないとジャンプしないのではないでしょうか?
(なお、ページ内に↑を用意していないので、これをクリックすることはできません)
単なるアンカーなので、直接それをクリックしても意味はなくて、
<a href="#xxx">XXX</a>をクリックするようにしないとジャンプしないのではないでしょうか?
(なお、ページ内に↑を用意していないので、これをクリックすることはできません)
297デフォルトの名無しさん (ワキゲー MM7f-4N5G)
2018/06/25(月) 10:34:01.89ID:CeO6DCCqM GetElementById(...).ScrollIntoView(...)
298デフォルトの名無しさん (ワッチョイ 1f56-DJU/)
2018/06/25(月) 11:16:30.33ID:sIr2ygWz0299デフォルトの名無しさん (ワッチョイ 7f8a-lC4z)
2018/06/25(月) 16:58:03.78ID:L8J9ADJ70 ListVIewでクリックされたアイテムのインデックスを取得するにはどうしたらいいでしょうか?
例えば、以下の画像だと、"ListSubItem 3"がクリックされた時に、1,2 (1は列,2は行)といった値を取得したいです。
http://www.planetsourcecode.com/Upload_PSC/ScreenShots/PIC20042291953273057.jpg
例えば、以下の画像だと、"ListSubItem 3"がクリックされた時に、1,2 (1は列,2は行)といった値を取得したいです。
http://www.planetsourcecode.com/Upload_PSC/ScreenShots/PIC20042291953273057.jpg
300260 (バッミングク MM53-+a6w)
2018/06/25(月) 17:57:14.07ID:TcWThoAPM 引数有り無しのコンストラクタで相談した者ですが色々とご意見ありがとうございます
先輩無しの独り開発なので参考になります
何が正しいかはプロジェクトの性質に左右されそうなので突き詰めませんが、驚き最小の法則的に見ると、無意味なメソッドをコール出来るとかどんな気持ちでしょうか?
私は後々混乱しそうなので避けたいのですが、さほど驚かれないならこのまま実装しようかとも
先輩無しの独り開発なので参考になります
何が正しいかはプロジェクトの性質に左右されそうなので突き詰めませんが、驚き最小の法則的に見ると、無意味なメソッドをコール出来るとかどんな気持ちでしょうか?
私は後々混乱しそうなので避けたいのですが、さほど驚かれないならこのまま実装しようかとも
301デフォルトの名無しさん (ワッチョイ ff80-wB0u)
2018/06/25(月) 21:33:53.83ID:1sQ+cvRC0 >>299 HitTest
302デフォルトの名無しさん (ワッチョイ ff7f-E6HK)
2018/06/25(月) 21:56:47.71ID:lw6peYFv0 暇つぶしにunityでプチゲームを作ろうとしているのですが
以下のような処理をしています。
https://dotnetfiddle.net/p6v66Z
スキルが増えるごとにSkillFactoryとTypeToParameterに分岐が増えていってしまって
なんだかなあという感じなのですが、もうちょっとマシな方法はないでしょうか。
SkillParamが諸悪の根源のような気もしていますがほかにうまい方法がおもいつかず。。
以下のような処理をしています。
https://dotnetfiddle.net/p6v66Z
スキルが増えるごとにSkillFactoryとTypeToParameterに分岐が増えていってしまって
なんだかなあという感じなのですが、もうちょっとマシな方法はないでしょうか。
SkillParamが諸悪の根源のような気もしていますがほかにうまい方法がおもいつかず。。
303デフォルトの名無しさん (スプッッ Sd7f-E6HK)
2018/06/25(月) 22:01:12.17ID:XS6tlG59d githubでC#で書かれたソースコードを見るとVisual Studioで作成したファイルが見当たらないんですが、
Visual Studioを使わないほうがいいんでしょうか?
Visual Studioを使わないほうがいいんでしょうか?
304デフォルトの名無しさん (ワッチョイ 1f9b-5Tpg)
2018/06/25(月) 22:10:35.49ID:XRDiWZAB0 ワークシート1のb2から空になる最終行までフォーム1のコンボボックスに入れにはどうしたらいいですか?
305デフォルトの名無しさん (ワッチョイ 7fd2-fhdp)
2018/06/25(月) 22:15:12.37ID:Bspx7Xiu0 >>303
VisualStudioで作成したファイルって具体的には何のこと?
VisualStudioで作成したファイルって具体的には何のこと?
306デフォルトの名無しさん (ワッチョイ ffe8-GwbS)
2018/06/25(月) 22:30:53.83ID:QLHuH/320 ListでKey値が一致する要素を探して
内容を更新するにはどうすればいいの
ループで検索するしかない?
内容を更新するにはどうすればいいの
ループで検索するしかない?
307デフォルトの名無しさん (ワッチョイ ffc9-GwbS)
2018/06/25(月) 22:41:13.84ID:DXP13toJ0 >>306
DictionaryならともかくListでKey値って何よ
DictionaryならともかくListでKey値って何よ
308デフォルトの名無しさん (ワッチョイ ffe8-GwbS)
2018/06/25(月) 22:49:08.14ID:QLHuH/320 >>307
2次元にしてキー項目を自分で作ったのよIndex用に
2次元にしてキー項目を自分で作ったのよIndex用に
309デフォルトの名無しさん (ワッチョイ 9f1e-RA3y)
2018/06/25(月) 23:11:47.70ID:cq0DHw7f0 KeyedCollectionクラス
310デフォルトの名無しさん (ワッチョイ 7f11-8g2T)
2018/06/26(火) 09:16:48.94ID:UPxy/vlK0 なぜDictionaryにしなかったのか
311デフォルトの名無しさん (ワッチョイ 9f8a-aHC/)
2018/06/26(火) 09:21:11.66ID:A+/Pd/Nq0 君は何故全力を尽くしても駄目なのか
312デフォルトの名無しさん (ワッチョイ ff76-XQuB)
2018/06/26(火) 09:58:06.77ID:1CiOys6I0 object型のメンバ?の値を文字列型に代入したいのですが
どのように書けば良いでしょうか?
static void Main(string[] args)
{
var obj = new { a = "a", b = "b" };
Hoge(obj);
}
static void Hoge(object obj)
{
string fuga = obj.b.ToString(); //この書き方で怒られてしまいました
}
object型は基本のようなので、根本的な所を理解していないのかも知れませんが
よろしくお願いします。
どのように書けば良いでしょうか?
static void Main(string[] args)
{
var obj = new { a = "a", b = "b" };
Hoge(obj);
}
static void Hoge(object obj)
{
string fuga = obj.b.ToString(); //この書き方で怒られてしまいました
}
object型は基本のようなので、根本的な所を理解していないのかも知れませんが
よろしくお願いします。
314デフォルトの名無しさん (ワントンキン MMdf-h3K6)
2018/06/26(火) 12:16:48.98ID:U/nLOHiUM >>312
objectをdynamicに変えるといいよ
objectをdynamicに変えるといいよ
315デフォルトの名無しさん (アウアウカー Sa93-PGhQ)
2018/06/26(火) 12:22:10.81ID:yFHnMB/La >>312
つdynamic
つdynamic
316デフォルトの名無しさん (ワントンキン MMdf-cOHa)
2018/06/26(火) 13:31:04.74ID:oxIIJc6mM 便乗質問していいですか?
> var obj = new { a = "a", b = "b" };
これってクラスとして扱われるんですか?
> var obj = new { a = "a", b = "b" };
これってクラスとして扱われるんですか?
317デフォルトの名無しさん (ラクッペ MM33-2vzp)
2018/06/26(火) 13:38:08.33ID:ZA95aSE/M 扱われるよ
318デフォルトの名無しさん (ワッチョイ 7f61-E6HK)
2018/06/26(火) 14:41:15.83ID:yB7+BiTZ0 インスタンスメソッドとstaticメソッドの使い分けがいまいちわからないので教えてください
public class Hoge {
private string Name { get; } = "piyo";
public Hoge(string name) {
Name = name;
}
}
上記のようなクラスがあり、これをvar hoge = new Hoge("foo"); とインスタンス化したとして、
public bool IsPiyo(){
return Name == "piyo";
}
上記のようなインスタンスメソッドを書いて、hoge.IsPiyo()とするのと、
public static bool IsPiyo(Hoge hoge){
return hoge.Name == "piyo";
}
上記のようなstaticメソッドを書いて、Hoge.IsPiyo(hoge)とするのでは、どう違い、どちらにするべきでしょうか?
なんとなく、staticの方が入力と出力がはっきりしてるのでわかりやすいのかなと思うのですが、オブジェクト指向ではないですよね
public class Hoge {
private string Name { get; } = "piyo";
public Hoge(string name) {
Name = name;
}
}
上記のようなクラスがあり、これをvar hoge = new Hoge("foo"); とインスタンス化したとして、
public bool IsPiyo(){
return Name == "piyo";
}
上記のようなインスタンスメソッドを書いて、hoge.IsPiyo()とするのと、
public static bool IsPiyo(Hoge hoge){
return hoge.Name == "piyo";
}
上記のようなstaticメソッドを書いて、Hoge.IsPiyo(hoge)とするのでは、どう違い、どちらにするべきでしょうか?
なんとなく、staticの方が入力と出力がはっきりしてるのでわかりやすいのかなと思うのですが、オブジェクト指向ではないですよね
319デフォルトの名無しさん (ワッチョイ 7fc3-KTKp)
2018/06/26(火) 14:59:10.81ID:FPh9h90J0 インスタンスが必要かどうか。
stringクラスのCompareメソッドとCompareToメソッドが良い例。
前者はパラメータがnullでも通るが、後者はインスタンスが無いとダメ。
stringクラスのCompareメソッドとCompareToメソッドが良い例。
前者はパラメータがnullでも通るが、後者はインスタンスが無いとダメ。
320デフォルトの名無しさん (アウアウウー Sae3-GwbS)
2018/06/26(火) 15:53:58.50ID:B40aLJ4va インスタンスメンバーを参照してないならstaticにしてる
でも必ずすべきとは思わない
仮に日本語にして考えてみる
人間クラスに "はピヨです()"メソッドをそれぞれ実装すると
if(人間.はピヨです(彼)) {〜}
と
if(彼.はピヨです()) {〜};
これを見るとstatic はおかしいと思うがstaticにすることが多い
でも必ずすべきとは思わない
仮に日本語にして考えてみる
人間クラスに "はピヨです()"メソッドをそれぞれ実装すると
if(人間.はピヨです(彼)) {〜}
と
if(彼.はピヨです()) {〜};
これを見るとstatic はおかしいと思うがstaticにすることが多い
321デフォルトの名無しさん (アウアウウー Sae3-GwbS)
2018/06/26(火) 16:01:01.51ID:B40aLJ4va 誤解を招くような書き方だけど上のHogeなら間違いなくインスタンスメソッドにする
322デフォルトの名無しさん (アウアウカー Sa93-XuiQ)
2018/06/26(火) 19:39:44.60ID:2rJMn7sUa あー、ちょっとわかってきたかもです
主語というか、意味的に、表現したい意図に近い方を選ぶ感じですかね
とりあえず今回の例で言うと、インスタンスメソッドにすることにします
主語というか、意味的に、表現したい意図に近い方を選ぶ感じですかね
とりあえず今回の例で言うと、インスタンスメソッドにすることにします
323デフォルトの名無しさん (ワッチョイ 7f51-4N5G)
2018/06/26(火) 22:41:11.75ID:oc0D76610 RuntimeHelpers.PrepareMethod(RuntimeMethodHandle)の挙動が理解できない・・・
このコードでm2にPrepareMethodを使うことは不可能ですか?
==
using System.Runtime.CompilerServices;
class B<T> { public void M() { } }
class C1 : B<int> { }
class C2 : B<string> { }
class Program
{
static void Main(string[] args)
{
var m1 = typeof(C1).GetMethod("M").MethodHandle;
var m2 = typeof(C2).GetMethod("M").MethodHandle;
RuntimeHelpers.PrepareMethod(m1); // 問題なし
RuntimeHelpers.PrepareMethod(m2); // System.ArgumentException: '指定されたジェネリックのインスタンス化は無効です。'
}
}
==
このコードでm2にPrepareMethodを使うことは不可能ですか?
==
using System.Runtime.CompilerServices;
class B<T> { public void M() { } }
class C1 : B<int> { }
class C2 : B<string> { }
class Program
{
static void Main(string[] args)
{
var m1 = typeof(C1).GetMethod("M").MethodHandle;
var m2 = typeof(C2).GetMethod("M").MethodHandle;
RuntimeHelpers.PrepareMethod(m1); // 問題なし
RuntimeHelpers.PrepareMethod(m2); // System.ArgumentException: '指定されたジェネリックのインスタンス化は無効です。'
}
}
==
324デフォルトの名無しさん (ワッチョイ 9fe3-ASSz)
2018/06/26(火) 22:44:20.11ID:QRnSOnuU0325デフォルトの名無しさん (スプッッ Sd1f-5Tpg)
2018/06/27(水) 06:43:38.75ID:ZicgrVNId Cでエクセルを扱っていろいろするときはやっぱcsvにしておいた方がいいのかね?
326デフォルトの名無しさん (ワッチョイ 7f11-8g2T)
2018/06/27(水) 09:40:20.28ID:UGstrjJ10 >>316
匿名型、で調べてみるといい
匿名型、で調べてみるといい
327デフォルトの名無しさん (ワッチョイ 7fea-WDJb)
2018/06/27(水) 13:28:49.32ID:kZGjx8UI0328デフォルトの名無しさん (ササクッテロ Spf3-VhnM)
2018/06/27(水) 15:48:14.07ID:VkL9wLVWp 下手にxls使うと勝手に型変換してくれるからめちゃくちゃになるんだよな。
329デフォルトの名無しさん (ワンミングク MMdf-cOHa)
2018/06/27(水) 19:05:45.76ID:Eyd8ciC/M 複数のアプリで1つのserial portを使いたくて、dllで受けて受信データによって別々のイベントを発生させ、複数のアプリに受信させようと考えました。
dll内のSerialPortをstaticで持てば共有できるかと思ったのですが、staticで宣言しても呼び出し元が別プロセスだと共有されないようですね。
何かいい手はないでしょうか。
dll内のSerialPortをstaticで持てば共有できるかと思ったのですが、staticで宣言しても呼び出し元が別プロセスだと共有されないようですね。
何かいい手はないでしょうか。
330デフォルトの名無しさん (ワッチョイ ff33-mTVk)
2018/06/27(水) 19:33:53.09ID:cLV89PFx0 シリアルポートと通信するサーバを作って
必要な数だけクライアントを待ち受けるのが楽なんじゃないの
プロセス間通信はソケットやパイプとか適当なものを使う
必要な数だけクライアントを待ち受けるのが楽なんじゃないの
プロセス間通信はソケットやパイプとか適当なものを使う
331デフォルトの名無しさん (ワッチョイ 1fb3-GwbS)
2018/06/27(水) 20:12:38.21ID:4yQE+Bm50332デフォルトの名無しさん (ササクッテロ Spf3-VhnM)
2018/06/27(水) 22:11:07.14ID:VkL9wLVWp 複数のアプリにどうやって通信データを振り分けるかの方が興味あるわ。
333デフォルトの名無しさん (ワッチョイ 9f8a-aHC/)
2018/06/27(水) 22:41:58.18ID:ezuUhY+H0 つ MSMQ
334デフォルトの名無しさん (ワッチョイ 7f9d-fJsd)
2018/06/27(水) 23:21:02.53ID:KXFiZVY30 そもそもWindowsのシリアルポートって複数のアプリで共有(同時オープン)できるのか?
335デフォルトの名無しさん (アウアウカー Sa93-xWgw)
2018/06/27(水) 23:25:13.59ID:YJH26+lwa シリアルポートはなんかが掴んでたらだめだよね
336デフォルトの名無しさん (アウアウエー Sa7f-3IMT)
2018/06/27(水) 23:39:03.37ID:kv/Gz/3da だから質問してるんでしょw
質問者は他のアプリが占有中でも無理矢理割り込む方法を聞いてるわけじゃなく、
自作アプリの複数のプロセスで共有する方法を聞いてる
質問者は他のアプリが占有中でも無理矢理割り込む方法を聞いてるわけじゃなく、
自作アプリの複数のプロセスで共有する方法を聞いてる
337デフォルトの名無しさん (ワッチョイ ff81-2vzp)
2018/06/27(水) 23:42:52.29ID:lEu9Ds2F0 ない
338デフォルトの名無しさん (ワッチョイ 7f9d-fJsd)
2018/06/27(水) 23:50:05.06ID:KXFiZVY30339デフォルトの名無しさん (アウアウエー Sa7f-3IMT)
2018/06/27(水) 23:57:16.85ID:kv/Gz/3da 馬鹿にも程があるな...
340デフォルトの名無しさん (アウアウエー Sa0a-/Gj2)
2018/06/28(木) 00:02:45.40ID:o5j8xzNra 言ってるんだが
いつも思うけど、こういう口調って馬鹿の間で流行ってるのかねw
いつも思うけど、こういう口調って馬鹿の間で流行ってるのかねw
341デフォルトの名無しさん (ワントンキン MM52-29j6)
2018/06/28(木) 00:39:46.48ID:M7FH9WysM シリアルポートに限らずdllのstatic変数が共有できないのですが、共有したい需要ってないのでしょうか?共有したい場合はどうするのがよいのでしょうか?
342デフォルトの名無しさん (ワッチョイ ade3-F2uz)
2018/06/28(木) 01:01:35.03ID:wDYBzoR70343デフォルトの名無しさん (ワッチョイ 7e33-AF1h)
2018/06/28(木) 01:12:05.63ID:5aYb43f30 dllのstatic云々はおいといてメモリマップトファイルならC#でも使えたかな
C++ならデータセグメントを共有メモリにできる
どちらにしろプロセス間の排他制御が必要
C++ならデータセグメントを共有メモリにできる
どちらにしろプロセス間の排他制御が必要
344デフォルトの名無しさん (アウアウエー Sa0a-/Gj2)
2018/06/28(木) 01:31:16.24ID:o5j8xzNra >>342
宛先なんかなく、単に全部のアプリに同じデータがブロドキャストされれば
十分って場合もあるでしょ
例えばシリアル経由で計測器か何かのデータが送られてくるとして、
(1) 画面表示だけするアプリ
(2) エクセルにログを保存するアプリ
(3) 計測データを使って何か他の機器を制御するアプリ
何かの都合でこんな風に複数のアプリに分けて作る必要があるのかもしれない
宛先なんかなく、単に全部のアプリに同じデータがブロドキャストされれば
十分って場合もあるでしょ
例えばシリアル経由で計測器か何かのデータが送られてくるとして、
(1) 画面表示だけするアプリ
(2) エクセルにログを保存するアプリ
(3) 計測データを使って何か他の機器を制御するアプリ
何かの都合でこんな風に複数のアプリに分けて作る必要があるのかもしれない
345デフォルトの名無しさん (ワッチョイ 6e81-M9kt)
2018/06/28(木) 01:38:37.90ID:KZQYx/g/0 C#でのSelenium操作についても質問していいですか?
346デフォルトの名無しさん (ワッチョイ 8251-hbKR)
2018/06/28(木) 05:25:02.37ID:mpKH796a0 >>331
レスどうもです!下のようにして上手くいきました
こうなってくるとm1に対する方法はたまたま問題が起きないだけで
m2やm3の方法のほうが望ましいように思えてきましたがそういう認識であってますか?
==
using System.Runtime.CompilerServices;
class B<T> { public void M() { } }
class C1 : B<int> { }
class C2 : B<string> { }
class C3 : B<int> { }
class Program
{
static void Main(string[] args)
{
var m1 = typeof(C1).GetMethod("M").MethodHandle;
var m2 = typeof(C2).GetMethod("M").MethodHandle;
var m3 = typeof(C3).GetMethod("M").MethodHandle;
RuntimeHelpers.PrepareMethod(m1); // 問題なし
RuntimeHelpers.PrepareMethod(m2, new[] { typeof(string).TypeHandle }); // 問題なし
RuntimeHelpers.PrepareMethod(m3, new[] { typeof(int).TypeHandle }); // 問題なし
}
}
==
レスどうもです!下のようにして上手くいきました
こうなってくるとm1に対する方法はたまたま問題が起きないだけで
m2やm3の方法のほうが望ましいように思えてきましたがそういう認識であってますか?
==
using System.Runtime.CompilerServices;
class B<T> { public void M() { } }
class C1 : B<int> { }
class C2 : B<string> { }
class C3 : B<int> { }
class Program
{
static void Main(string[] args)
{
var m1 = typeof(C1).GetMethod("M").MethodHandle;
var m2 = typeof(C2).GetMethod("M").MethodHandle;
var m3 = typeof(C3).GetMethod("M").MethodHandle;
RuntimeHelpers.PrepareMethod(m1); // 問題なし
RuntimeHelpers.PrepareMethod(m2, new[] { typeof(string).TypeHandle }); // 問題なし
RuntimeHelpers.PrepareMethod(m3, new[] { typeof(int).TypeHandle }); // 問題なし
}
}
==
347331 (ワッチョイ 79b3-yQv9)
2018/06/28(木) 07:24:39.78ID:TtGcC5rD0348デフォルトの名無しさん (ワッチョイ c175-sWPm)
2018/06/28(木) 07:34:23.33ID:wMDqdzUG0 >>341
よく解らんけどdllってアプリごとにメモリに個別に展開されて初期化されるからソースコード上で同じ変数名にアクセスしても実態は違うので共有できないのは当たり前なきがする
よく解らんけどdllってアプリごとにメモリに個別に展開されて初期化されるからソースコード上で同じ変数名にアクセスしても実態は違うので共有できないのは当たり前なきがする
349デフォルトの名無しさん (ワントンキン MM52-29j6)
2018/06/28(木) 08:01:29.47ID:M7FH9WysM Cとかって共有されなかったっけ?よく覚えてないけど。
350デフォルトの名無しさん (アウアウウー Sa85-/RMY)
2018/06/28(木) 08:16:48.89ID:h/Ekqdxpa されるわけないだろ
何のためにプロセスがあると思ってるんだ
何のためにプロセスがあると思ってるんだ
351デフォルトの名無しさん (ワッチョイ 6e81-8q1V)
2018/06/28(木) 09:27:13.22ID:9GisGdyJ0 ないって言ってんのにな
死ぬまで悪あがきしてればいいよ
死ぬまで悪あがきしてればいいよ
352デフォルトの名無しさん (ワッチョイ a2c3-5/xb)
2018/06/28(木) 10:06:45.02ID:uTPw2MsS0 何がしたいのか知らんけど、Win2k時代にシリアル通信のロガー作ったことある。あんときは、DLLをフックしてCreateFile,ReadFile,WriteFileのデータをトレースしたが、ハッキリ言ってやめたほうが良い。
353デフォルトの名無しさん (ササクッテロ Sp51-r5YT)
2018/06/28(木) 11:08:48.44ID:mI3gmfcxp ロガーだけならどこぞの口でforkすりゃいいだけだろ。
通信内容を振り分ける仕組みだと思ってたから無理って話してんだよな。
通信内容を振り分ける仕組みだと思ってたから無理って話してんだよな。
354デフォルトの名無しさん (ワッチョイ a2c3-5/xb)
2018/06/28(木) 11:17:35.66ID:uTPw2MsS0 親がシリアル掴んで、名前付きパイプで子に振り分けるかなぁ。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【インバウンド】中国からの“渡航自粛”…ツアー1000人分の直前キャンセル「キャンセル料は免除してくれ」 ことしいっぱいキャンセルに [1ゲットロボ★]
- 【芸能】日中関係悪化でエンタメ業界に大ダメージ… JO1の中国でのイベント中止、邦画は公開延期、STARTOアイドルへの影響も [冬月記者★]
- 「国民の憤りを引き起こした」中国側“高市首相発言の撤回改めて要求” [どどん★]
- XやChatGPTで広範囲の通信障害 投稿や閲覧できず [蚤の市★]
- 【サッカー】日本代表、ボリビアに3発快勝 森保監督通算100試合目を飾る…鎌田、町野、中村がゴール [久太郎★]
- 【ローソン】ロゴの「L」で誤解生んだコーヒーカップ、デザイン変更へ 在庫使い切る3か月後にリニューアル [ぐれ★]
- パラドゲーやってる人に聞きたい総理の発言がそのまま国家意思になるって中世かよ [279479878]
- 【高市早苗】バス会社、中国からのキャンセルで12月で2000万円~3000万円の損失へ [115996789]
- 米シンクタンク「アメリカは台湾問題で"あいまい戦略"を取っている。高市早苗はこの方針から逸脱している」 [603416639]
- かしこいワンコっていうVtuberの子知ってる?
- 岡田克也「軽々しく存立危機事態とか言うべきじゃない」高市早苗「台湾で武力攻撃が発生したらどう考えても日本の存立危機事態」 [931948549]
- 俺が「う~寒い寒い」って言いながらお前らが寝てるお布団に潜り込んだら…
