!extend:checked:vvvvv:1000:512
次スレを立てる時は↑を2行冒頭に書くこと(1行分は消えて表示されない為)
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、
質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください
>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■関連スレ
C#, C♯, C#相談室 Part95
https://mevius.5ch.net/test/read.cgi/tech/1508168482/
■コードを貼る場合は↓を使いましょう。
http://ideone.com/
https://dotnetfiddle.net/
■前スレ
ふらっと C#,C♯,C#(初心者用) Part143
https://mevius.5ch.net/test/read.cgi/tech/1558002486/
■情報源
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/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
探検
ふらっと C#,C♯,C#(初心者用) Part144
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ドコグロ MM2f-DHp5)
2019/07/16(火) 15:36:23.74ID:i1fbuZ/pM702デフォルトの名無しさん (ササクッテロ Sp51-EbW7)
2019/09/20(金) 12:02:00.53ID:Ew/p9Snjp 最後にcleanすりゃいいだけだから。
もしくは同期ドライブ直接はコンパイルしないとかな。
もしくは同期ドライブ直接はコンパイルしないとかな。
703デフォルトの名無しさん (スッップ Sd22-wC8D)
2019/09/20(金) 12:02:42.34ID:bfuJBtmYd svnを使う
onedrive以外の場所で開発してonedriveフォルダに必要なファイルを同期ツールとかでローカルコピーするようにする
なんでonedriveはokでgitがngなのかがわからんと提示しづらい
onedrive以外の場所で開発してonedriveフォルダに必要なファイルを同期ツールとかでローカルコピーするようにする
なんでonedriveはokでgitがngなのかがわからんと提示しづらい
704デフォルトの名無しさん (アウアウウー Sa85-dxf9)
2019/09/20(金) 12:48:37.25ID:uLmjcKMSa OneDriveって特定のフォルダだけ同期しない設定にできないのか
6,7年前にオンラインストレージが流行った時には
タダで大容量で高機能のがいっぱいあったのになんだか退化してるよねw
6,7年前にオンラインストレージが流行った時には
タダで大容量で高機能のがいっぱいあったのになんだか退化してるよねw
705デフォルトの名無しさん (ワッチョイ 4605-Mu6I)
2019/09/20(金) 12:56:56.83ID:uH7l3KIr0 labelの文字列の一部を太文字にしたり色を変えたりといった表現をしたいのですが
何か良い方法はないでしょうか?
コントロールではなくメインプログラムのほうで操作できるようにしたいです
labelと同じ見た目ならなんでもよいです
textboxの様な感じではなくlabelのような感じが目標です
何か良い方法はないでしょうか?
コントロールではなくメインプログラムのほうで操作できるようにしたいです
labelと同じ見た目ならなんでもよいです
textboxの様な感じではなくlabelのような感じが目標です
706デフォルトの名無しさん (ワッチョイ fe7c-plfC)
2019/09/20(金) 13:13:16.41ID:WW0nVoDA0 のような感じと言われてもどういうのがNGでどういうのがOKなのかよく分からんが
手軽なのはRichTextBoxを使うことで
そうでなければPaintイベントで全部自前描画ということになる
手軽なのはRichTextBoxを使うことで
そうでなければPaintイベントで全部自前描画ということになる
707デフォルトの名無しさん (スププ Sd22-J2vi)
2019/09/20(金) 14:28:02.26ID:9RWO75b+d >>700
ちと面倒だけど、ブランチとか使えるのが便利だから、サーバ立てるまでOneDriveのフォルダ上にgitのリポジトリ作ってた事がある。
OneDrive内の任意のフォルダの中でgit init --bareするだけ。
したら、そのフォルダをremoteとして登録出来る。
あとは任意のタイミングでpush/pullするだけ。
作業フォルダをOneDrive内に置いて自動的に同期もやったけど、objとかが共有される問題よりも、同時に開いて悲惨なことになる事があったので、今はしてない。
(競合したら「もとのファイル名-端末名」ってファイルが大量にできる)
ちと面倒だけど、ブランチとか使えるのが便利だから、サーバ立てるまでOneDriveのフォルダ上にgitのリポジトリ作ってた事がある。
OneDrive内の任意のフォルダの中でgit init --bareするだけ。
したら、そのフォルダをremoteとして登録出来る。
あとは任意のタイミングでpush/pullするだけ。
作業フォルダをOneDrive内に置いて自動的に同期もやったけど、objとかが共有される問題よりも、同時に開いて悲惨なことになる事があったので、今はしてない。
(競合したら「もとのファイル名-端末名」ってファイルが大量にできる)
708デフォルトの名無しさん (ワッチョイ b188-wC8D)
2019/09/20(金) 15:01:20.41ID:riKFjdTV0 ああ、確かにリポジトリをonedriveに入れるのが一番スマートかも
昔dropboxにsvnリポジトリ作ってたことあるわ
昔dropboxにsvnリポジトリ作ってたことあるわ
709デフォルトの名無しさん (ワッチョイ 6990-jgJV)
2019/09/20(金) 17:01:09.25ID:9F0x+J+E0 メモリ消費は税のようなもの
しょとくだけに
消費だけに
しょとくだけに
消費だけに
710デフォルトの名無しさん (ワッチョイ a207-vIUH)
2019/09/20(金) 19:34:13.48ID:dvP1e2Mn0 環境はWindows formアプリです。
TableLayoutPanel と DataGridView の使い分け方がわかりません。
datasource property の有無だけ?
TableLayoutPanel と DataGridView の使い分け方がわかりません。
datasource property の有無だけ?
711デフォルトの名無しさん (ワッチョイ 6e7b-25Vu)
2019/09/20(金) 19:53:22.57ID:+tHFIfxx0 >>705
自分で描画するのはメソッド作るのも指定するのもめんどくさいよ
https://dobon.net/vb/dotnet/graphics/measurestring.html#section1
>>706の言う通りRichTextBoxをBorderStyle.Noneにして背景色を合わせた方が楽じゃないかな
どうしても文字以外を透過させたいとかならともかく
>>710
HTMLのテーブルとExcelの表が同じに見えるのならそうかもね
自分で描画するのはメソッド作るのも指定するのもめんどくさいよ
https://dobon.net/vb/dotnet/graphics/measurestring.html#section1
>>706の言う通りRichTextBoxをBorderStyle.Noneにして背景色を合わせた方が楽じゃないかな
どうしても文字以外を透過させたいとかならともかく
>>710
HTMLのテーブルとExcelの表が同じに見えるのならそうかもね
712デフォルトの名無しさん (ワッチョイ c245-Iqd1)
2019/09/21(土) 10:00:25.29ID:DmWWMvK20 コンソールアプリが作れればいいやと思ってpaizaでシコシコ勉強してますが他にどんなことすればいいですか?
目標は外部のファイルを読み込んでコンバートするアプリを作ることです。
目標は外部のファイルを読み込んでコンバートするアプリを作ることです。
713デフォルトの名無しさん (ワッチョイ 0279-Ms+D)
2019/09/21(土) 10:08:45.30ID:ZhDsxJHf0 外部のファイルを読み込んでコンバートするアプリを作ればよいのでは?
そんなに難しくないよ
何をどうコンバートするかにはよるかもしれないけど
そんなに難しくないよ
何をどうコンバートするかにはよるかもしれないけど
714デフォルトの名無しさん (アウアウエー Sa0a-o9zd)
2019/09/21(土) 11:05:31.91ID:wLZyePcca プログラミング未経験者です
すいません、ちょっと趣旨から外れるかもしれませんが質問です
電気(強電)、計測(コンビナートとかのプラント計装)の知識ってC#で活かせますか?
C#の求人や書籍を検索すると、電気回路の制御ソフトとか計測器制御とかがヒットするので気になって質問させていただきました
すいません、ちょっと趣旨から外れるかもしれませんが質問です
電気(強電)、計測(コンビナートとかのプラント計装)の知識ってC#で活かせますか?
C#の求人や書籍を検索すると、電気回路の制御ソフトとか計測器制御とかがヒットするので気になって質問させていただきました
715デフォルトの名無しさん (ワッチョイ c245-Iqd1)
2019/09/21(土) 11:05:33.11ID:DmWWMvK20 SQLもどき文をパース?して出力したいです
716デフォルトの名無しさん (アウアウウー Sa85-TrZH)
2019/09/21(土) 11:42:35.85ID:uzyGV4kra >>714
FAの制御系だったら測定器やPLCとの通信がメインになるからそれなりに知識あったほうがいいとは思うよ
FAの制御系だったら測定器やPLCとの通信がメインになるからそれなりに知識あったほうがいいとは思うよ
717デフォルトの名無しさん (アウアウエー Sa0a-o9zd)
2019/09/21(土) 12:00:01.02ID:wLZyePcca >>716
ありがとうございますm(_ _)m
ありがとうございますm(_ _)m
718デフォルトの名無しさん (ワッチョイ fd17-Ms+D)
2019/09/21(土) 13:30:42.97ID:ox/L2PXG0719デフォルトの名無しさん (ドコグロ MM89-+KEk)
2019/09/21(土) 13:39:06.70ID:cHmpI1M9M720デフォルトの名無しさん (ワッチョイ 7901-QRiv)
2019/09/21(土) 14:11:59.87ID:gZFDeRYs0 オライリーのlex & yacc がsqlのパースの
サンプルだったけど
C#は対応していないかと
サンプルだったけど
C#は対応していないかと
721デフォルトの名無しさん (ワッチョイ ae2d-Z796)
2019/09/21(土) 14:57:58.99ID:8edEcM0R0 すまんが、スレッドを指定して実行ってできないもんなの?
指定できればロックが必要な箇所が減っていい気がするんだけど・・・・どうなんだろう
指定できればロックが必要な箇所が減っていい気がするんだけど・・・・どうなんだろう
722デフォルトの名無しさん (ワッチョイ 7901-QRiv)
2019/09/21(土) 15:03:52.53ID:gZFDeRYs0 スレッド起動しないかWaitしておけば、
良いんじゃね
良いんじゃね
723デフォルトの名無しさん (アウアウウー Sa85-9Tgq)
2019/09/21(土) 15:21:35.32ID:Ef6g+Zfma724デフォルトの名無しさん (ワッチョイ 1124-JE5y)
2019/09/21(土) 15:59:40.26ID:3kDOCDXv0 Dllimortで呼び出す関数の引数にはジェネリックは使えないのでしょうか?
725デフォルトの名無しさん (ワッチョイ 4d63-WGWF)
2019/09/21(土) 17:32:33.11ID:CRAyGleP0 使えない
726デフォルトの名無しさん (アウアウウー Sa85-dxf9)
2019/09/21(土) 17:41:38.79ID:dMKiDHPTa727デフォルトの名無しさん (アウアウウー Sa85-+KEk)
2019/09/21(土) 17:50:18.96ID:GoVsp8loa >>726
.NETのジェネリックは実行時に特殊化されるから、技術的にはそんなに無茶な話ではないよ
.NETのジェネリックは実行時に特殊化されるから、技術的にはそんなに無茶な話ではないよ
728デフォルトの名無しさん (ワッチョイ 4d0c-Ms+D)
2019/09/21(土) 17:57:47.91ID:rw4WtgZd0 まあどのみち今のところできないから、いんぽ関数自体はIntPtrで受け取って
Marshal.PtrToStructureとかでごにょごにょするジェネリック関数でラップする感じでやるしかないね
SystemParametersInfoとかでそういう欲求があること自体はわかる
Marshal.PtrToStructureとかでごにょごにょするジェネリック関数でラップする感じでやるしかないね
SystemParametersInfoとかでそういう欲求があること自体はわかる
729デフォルトの名無しさん (ワッチョイ fd17-Ms+D)
2019/09/21(土) 17:59:11.73ID:ox/L2PXG0 >>727
それじゃ質問者に回答してやってくれ
それじゃ質問者に回答してやってくれ
730デフォルトの名無しさん (アウアウウー Sa85-+KEk)
2019/09/21(土) 18:12:58.46ID:GoVsp8loa731デフォルトの名無しさん (アウアウウー Sa85-dxf9)
2019/09/21(土) 18:32:15.65ID:dMKiDHPTa 十分突飛だと思いますけどね。
これ、アンマネージドに限らない。
マネージドだろうが、他のアセンブリで既に定義されてる
非ジェネリックなstaticメソッドをジェネリック化したいと言ってるのと同じ。
だから、呼ばれた側は何すりゃいいんだよw
これ、アンマネージドに限らない。
マネージドだろうが、他のアセンブリで既に定義されてる
非ジェネリックなstaticメソッドをジェネリック化したいと言ってるのと同じ。
だから、呼ばれた側は何すりゃいいんだよw
732デフォルトの名無しさん (アウアウウー Sa85-+KEk)
2019/09/21(土) 18:43:55.34ID:GoVsp8loa >>731
CのAPIだと、サイズが同一の異なる型を一緒に扱ったり、条件に応じてポインタの指す型の解釈を変えたりとか珍しくないでしょ
CのAPIだと、サイズが同一の異なる型を一緒に扱ったり、条件に応じてポインタの指す型の解釈を変えたりとか珍しくないでしょ
733デフォルトの名無しさん (アウアウウー Sa85-dxf9)
2019/09/21(土) 18:44:55.69ID:dMKiDHPTa734デフォルトの名無しさん (ワッチョイ 1124-JE5y)
2019/09/21(土) 18:46:58.39ID:3kDOCDXv0 >>726
具体的にはLPVOID引数で自己責任ながら参照型からref、outやintなどの値渡しまで色々な型のオーバーロードを作って実際にちゃんと機能しています
なので一々オーバーロードとそのラップだけで30行ほど使ってしまってる現状が無駄に思えてどうにか方法ないかなと
具体的にはLPVOID引数で自己責任ながら参照型からref、outやintなどの値渡しまで色々な型のオーバーロードを作って実際にちゃんと機能しています
なので一々オーバーロードとそのラップだけで30行ほど使ってしまってる現状が無駄に思えてどうにか方法ないかなと
735デフォルトの名無しさん (ワッチョイ 4d0c-Ms+D)
2019/09/21(土) 19:46:47.84ID:rw4WtgZd0 一例としてはこんな感じ
APIの想定される構造体がBlittableのみならマーシャリング不要なので
unmanaged制約にしてアドレス渡しの方が効率は良い
public static T GetSystemParametersInfo<T>(SPI uiAction, uint uiParam, SPIF fWinIni) where T : struct {
T value;
var buffer = Marshal.AllocCoTaskMem(Marshal.SizeOf<T>());
SystemParametersInfo(uiAction, uiParam, buffer, fWinIni);
value = Marshal.PtrToStructure<T>(buffer);
Marshal.FreeCoTaskMem(buffer);
return value;
}
まあぶっちゃけお行儀的にはオーバーロードだらだら並べる方が正解ではあるんだけどねw
APIの想定される構造体がBlittableのみならマーシャリング不要なので
unmanaged制約にしてアドレス渡しの方が効率は良い
public static T GetSystemParametersInfo<T>(SPI uiAction, uint uiParam, SPIF fWinIni) where T : struct {
T value;
var buffer = Marshal.AllocCoTaskMem(Marshal.SizeOf<T>());
SystemParametersInfo(uiAction, uiParam, buffer, fWinIni);
value = Marshal.PtrToStructure<T>(buffer);
Marshal.FreeCoTaskMem(buffer);
return value;
}
まあぶっちゃけお行儀的にはオーバーロードだらだら並べる方が正解ではあるんだけどねw
736デフォルトの名無しさん (ワッチョイ a207-vIUH)
2019/09/21(土) 19:58:38.68ID:A1p2bytl0 c# で必殺技みたいなメソッドがあったのですが思い出せません。どなたかご存知ないでしょうか?
737デフォルトの名無しさん (ワッチョイ 4563-tKbs)
2019/09/21(土) 20:03:15.85ID:y68BphyG0 >>736
リフレクション?
リフレクション?
738デフォルトの名無しさん (ワッチョイ 6922-2lm7)
2019/09/21(土) 22:34:09.60ID:rnFOOH9a0 >>736
privateメソッドを外部から無理矢理呼び出すやつ?
privateメソッドを外部から無理矢理呼び出すやつ?
739デフォルトの名無しさん (アウアウイー Sa11-kReW)
2019/09/21(土) 22:42:59.80ID:70YMyRx+a リフレクションならDynamicInvoke()がなんともかっこいいメソッド名
>>736のはおそらくはデストラクタあたりを想定してるんじゃないかと思うけど
>>736のはおそらくはデストラクタあたりを想定してるんじゃないかと思うけど
740デフォルトの名無しさん (アウアウウー Sa85-+KEk)
2019/09/21(土) 23:13:56.71ID:GoVsp8loa DangerousAddRefもなかなか
741デフォルトの名無しさん (ワッチョイ 5963-cEvk)
2019/09/22(日) 01:11:49.71ID:YKAr5fZO0 >>736
オーバーライド!!
オーバーライド!!
742デフォルトの名無しさん (ブーイモ MMf6-/3ZE)
2019/09/22(日) 01:26:33.02ID:01VTDUEXM オーバーロード!!
743デフォルトの名無しさん (スププ Sd22-2lm7)
2019/09/22(日) 01:39:55.72ID:V8FjsYeid >>736
ラムダ式!
ラムダ式!
744デフォルトの名無しさん (ワッチョイ c245-Iqd1)
2019/09/22(日) 07:51:48.39ID:Wx+hr3d10745デフォルトの名無しさん (ワッチョイ fd17-Ms+D)
2019/09/22(日) 08:33:40.66ID:6LYYKR960 1) githubで"sql parser"と検索
2) C#で絞り込む
3) 上から順に試す
4) 好みのが見つかったら改造を試みる
少なくとも1から作るよりは圧倒的に楽だし勉強にもなるよ
2) C#で絞り込む
3) 上から順に試す
4) 好みのが見つかったら改造を試みる
少なくとも1から作るよりは圧倒的に楽だし勉強にもなるよ
746デフォルトの名無しさん (ワッチョイ 829f-cF+R)
2019/09/22(日) 09:28:54.26ID:p/RNYxc40747デフォルトの名無しさん (アウアウウー Sa85-dxf9)
2019/09/22(日) 12:11:14.62ID:PittLpUUa748デフォルトの名無しさん (アウアウウー Sa85-dxf9)
2019/09/22(日) 12:16:38.76ID:PittLpUUa 少なくともC#のジェネリックはstringとbyte[]を透過的に扱ったり、
longをint2つと透過的に扱ったりするための仕組みじゃありませんwww
だからそういうのは共用体やオーバーロードを使うんだってw
longをint2つと透過的に扱ったりするための仕組みじゃありませんwww
だからそういうのは共用体やオーバーロードを使うんだってw
749デフォルトの名無しさん (ラクッペ MMc1-WGWF)
2019/09/22(日) 12:28:14.42ID:GskCdwYSM 端的に答えとけばいいんだよ
余計な講釈を垂れるな
余計な講釈を垂れるな
750デフォルトの名無しさん (ワッチョイ 02e0-jgJV)
2019/09/22(日) 22:36:43.63ID:584djEVu0 BitmapをBitmapDataにしたいのですが、使用されたパラメータが有効ではありませんと言われてしまいます。
ファイルから読み込んだbitmapは変換できるのですが、このようにコード上で作ったbitmapはダメです。
何がいけないのでしょうか?
Bitmap trimBmp = baseBmp.Clone(rect, baseBmp.PixelFormat);
BitmapData bitData = trimBmp.LockBits(rect, ImageLockMode.ReadOnly, PixelFormat.Format32bppArgb);
ファイルから読み込んだbitmapは変換できるのですが、このようにコード上で作ったbitmapはダメです。
何がいけないのでしょうか?
Bitmap trimBmp = baseBmp.Clone(rect, baseBmp.PixelFormat);
BitmapData bitData = trimBmp.LockBits(rect, ImageLockMode.ReadOnly, PixelFormat.Format32bppArgb);
751デフォルトの名無しさん (ワッチョイ 822c-9Tgq)
2019/09/22(日) 22:44:27.94ID:6/LwH+kT0 rectで切り出した後、その切り出した後のビットマップから
さらにrectで一部分のロックしようとしてるけど大丈夫? 全面じゃない?
さらにrectで一部分のロックしようとしてるけど大丈夫? 全面じゃない?
752デフォルトの名無しさん (ワッチョイ 02e0-jgJV)
2019/09/22(日) 22:53:39.23ID:584djEVu0 >>751
baseBMPからrectで切り抜いてますが、trimBMPにとってはrectは全面だと思うのですがダメなのですかね?
でも
Bitmap bmp = new Bitmap(100,100)
みたいな素画像でもやっぱりLockBitsできないです
baseBMPからrectで切り抜いてますが、trimBMPにとってはrectは全面だと思うのですがダメなのですかね?
でも
Bitmap bmp = new Bitmap(100,100)
みたいな素画像でもやっぱりLockBitsできないです
753デフォルトの名無しさん (ワッチョイ 6e7b-25Vu)
2019/09/22(日) 23:53:45.92ID:yl5BH+I+0 >>752
>trimBMPにとってはrectは全面
ではなくbaseBmpのrectの範囲って自分で指定しているよね
BitmapData bitData = trimBmp.LockBits(new Rectangle(0, 0, trimBmp.Width, trimBmp.Height), ImageLockMode.ReadOnly, trimBmp.PixelFormat);
>Bitmap bmp = new Bitmap(100,100)
>みたいな素画像でもやっぱりLockBitsできないです
できる。そっちもちゃんと引数の指定してみて
>trimBMPにとってはrectは全面
ではなくbaseBmpのrectの範囲って自分で指定しているよね
BitmapData bitData = trimBmp.LockBits(new Rectangle(0, 0, trimBmp.Width, trimBmp.Height), ImageLockMode.ReadOnly, trimBmp.PixelFormat);
>Bitmap bmp = new Bitmap(100,100)
>みたいな素画像でもやっぱりLockBitsできないです
できる。そっちもちゃんと引数の指定してみて
754デフォルトの名無しさん (ワッチョイ a207-vIUH)
2019/09/23(月) 01:34:07.15ID:CAyWI0VB0 private Point CalcPopupLoction(Form launcher, Form popupForm) {}
ボタン押したときに上部に表示する モーダルな popup フォーム の位置を計算するメソッドを書きました。
ボタンが左の方にあると、親フォームの左枠をはみ出さないように、popupForm は左揃えで表示。
真ん中へんにあると中央揃え、右端ならボタンとpopupForm を右揃えで表示する感じです。
1つ目の引数の良い名前が思い付きません。
主にボタンを想定してる引数です。
launcher (発射台)はどうもしっくりきません。
parent や baseForm はなんかおかしいのでやめました。
ボタン押したときに上部に表示する モーダルな popup フォーム の位置を計算するメソッドを書きました。
ボタンが左の方にあると、親フォームの左枠をはみ出さないように、popupForm は左揃えで表示。
真ん中へんにあると中央揃え、右端ならボタンとpopupForm を右揃えで表示する感じです。
1つ目の引数の良い名前が思い付きません。
主にボタンを想定してる引数です。
launcher (発射台)はどうもしっくりきません。
parent や baseForm はなんかおかしいのでやめました。
755デフォルトの名無しさん (アウアウウー Sa85-dxf9)
2019/09/23(月) 03:14:26.31ID:QdBzCxoka756デフォルトの名無しさん (アウアウウー Sa85-dxf9)
2019/09/23(月) 03:28:32.57ID:QdBzCxoka あー、右に揃える場合もあるのね。
じゃあボタン持ってるFormに
void ShowModalPopup(Form popup)
みたいなメソッドを持たせればいい
じゃあボタン持ってるFormに
void ShowModalPopup(Form popup)
みたいなメソッドを持たせればいい
757デフォルトの名無しさん (ワッチョイ 3d5f-tKbs)
2019/09/23(月) 03:42:05.85ID:ltbH9/U50 こういう使い回しが効きそうなのはいちいちフォームに実装しないで拡張メソッドにでもした方が
758デフォルトの名無しさん (アウアウウー Sa85-dxf9)
2019/09/23(月) 03:56:41.99ID:QdBzCxoka 本当はボタン持ってる方のFormに
interface IDialogOwner:IWin32Window
{
HorizontalAlignment DialigHAlignment { get; }
Rectangle Rectangle { get; }
}
みたいなのをかぶせて、Popupする方のFormでShowDialogをオーバーロードして
void ShowDialog(IDialogOwner owner)
みたいにするのがいいのかも。
酔っぱらってるんでよく分からなくなってきたw
interface IDialogOwner:IWin32Window
{
HorizontalAlignment DialigHAlignment { get; }
Rectangle Rectangle { get; }
}
みたいなのをかぶせて、Popupする方のFormでShowDialogをオーバーロードして
void ShowDialog(IDialogOwner owner)
みたいにするのがいいのかも。
酔っぱらってるんでよく分からなくなってきたw
759デフォルトの名無しさん (ワッチョイ a211-2BIS)
2019/09/23(月) 08:49:12.84ID:l2jPGLgc0 C#でawaitに対応していないメソッドをawaitで非同期実行できるようにする方法を教えてください.
以下のようにしてもActionが実行されませんでした.
private async static void SomeHandler()
{
Console.Write("Burn");
await new Task(new Action(() =>{
Console.Write("[Start]");
Thread.Sleep(2000);
Console.Write("[Completed]");
}));
Console.Write("End");
}
以下のようにしてもActionが実行されませんでした.
private async static void SomeHandler()
{
Console.Write("Burn");
await new Task(new Action(() =>{
Console.Write("[Start]");
Thread.Sleep(2000);
Console.Write("[Completed]");
}));
Console.Write("End");
}
760デフォルトの名無しさん (ワッチョイ 1152-Ms+D)
2019/09/23(月) 08:58:35.82ID:ZRlL2jPD0761デフォルトの名無しさん (アウウィフ FF85-9GzD)
2019/09/23(月) 12:17:14.67ID:3qdqqJ07F bitmapinfo とか
dibsection とか
bitmapinfoheader とか
勉強してみたら
dibsection とか
bitmapinfoheader とか
勉強してみたら
762デフォルトの名無しさん (スフッ Sd22-J2vi)
2019/09/23(月) 14:47:11.75ID:vpc5pW+6d >>759
TaskCompletionSourceだっけ?うろ覚えですまんが、jsのPromiseオブジェクト的に使える。
TaskCompletionSourceだっけ?うろ覚えですまんが、jsのPromiseオブジェクト的に使える。
763デフォルトの名無しさん (ワッチョイ 5190-I/5H)
2019/09/23(月) 15:20:09.58ID:LbTjUCX60 taskをstartしてないだけだから...
764デフォルトの名無しさん (ワッチョイ c135-2BIS)
2019/09/23(月) 15:46:49.67ID:s6/Kehza0 >>763
ありがとうございます!
ありがとうございます!
765デフォルトの名無しさん (スププ Sd22-2lm7)
2019/09/23(月) 18:09:27.70ID:7f5aVpAAd どういたしまして!
766デフォルトの名無しさん (ワッチョイ 117b-PY7j)
2019/09/23(月) 19:11:24.16ID:24/7TZbh0 ID:QdBzCxoka
何の話してんのこの人
>>754
変数名が思いつかないとかはこのスレじゃなく
クラス名・変数名に迷ったら書き込むスレ。Part28 [無断転載禁止]©2ch.net
https://mevius.5ch.net/test/read.cgi/tech/1494147712/
何の話してんのこの人
>>754
変数名が思いつかないとかはこのスレじゃなく
クラス名・変数名に迷ったら書き込むスレ。Part28 [無断転載禁止]©2ch.net
https://mevius.5ch.net/test/read.cgi/tech/1494147712/
767デフォルトの名無しさん (アウアウウー Sa85-dxf9)
2019/09/23(月) 22:40:56.88ID:6ZQTgZjHa768デフォルトの名無しさん (ワッチョイ a207-vIUH)
2019/09/23(月) 22:48:38.96ID:CAyWI0VB0769デフォルトの名無しさん (ワッチョイ a207-vIUH)
2019/09/23(月) 23:35:14.83ID:CAyWI0VB0 >>754
private Point CalcPopupLoction(Form launcher, Form popupForm) {}
上記は下部のボタンの位置に応じて、大きさのことなるpopupForm の表示位置を計算するメソッド
exportButton_Click 内で、
ShowDialog(); で表示する popupForm に戻り値を設定
https://i.imgur.com/ggjo4td.jpg
private Point CalcPopupLoction(Form launcher, Form popupForm) {}
上記は下部のボタンの位置に応じて、大きさのことなるpopupForm の表示位置を計算するメソッド
exportButton_Click 内で、
ShowDialog(); で表示する popupForm に戻り値を設定
https://i.imgur.com/ggjo4td.jpg
770デフォルトの名無しさん (ワッチョイ 0279-McVF)
2019/09/24(火) 00:01:07.45ID:OEzHH54a0 >>754
・Loctionて何
・ボタンの置いてあるオーナーウィンドウと対象のボタンを引数に取った方がいいと思う
・計算だけなら全部Rectangleでいいんじゃないの
Rectangle CalcPopupLocation(Rectangle Owner, Rectangle TargetButton, Rectangle Popup)
・Loctionて何
・ボタンの置いてあるオーナーウィンドウと対象のボタンを引数に取った方がいいと思う
・計算だけなら全部Rectangleでいいんじゃないの
Rectangle CalcPopupLocation(Rectangle Owner, Rectangle TargetButton, Rectangle Popup)
771デフォルトの名無しさん (アウアウウー Sa85-dxf9)
2019/09/24(火) 00:03:53.21ID:ftn8dtDua >>769
だからさ、そのメソッドをどこに書くおつもり?
ポップアップを左右どちらに寄せるべきかを知ってるのは特定のFormだけのはずなのに
その例のllauncherの型がFormってのは変じゃないか?
そもそも何で「左右どちらに寄せるべきかを知ってる」奴のメソッドとして実装しないの?
それなら引数で渡す必要ないと思うんだけど。
だからさ、そのメソッドをどこに書くおつもり?
ポップアップを左右どちらに寄せるべきかを知ってるのは特定のFormだけのはずなのに
その例のllauncherの型がFormってのは変じゃないか?
そもそも何で「左右どちらに寄せるべきかを知ってる」奴のメソッドとして実装しないの?
それなら引数で渡す必要ないと思うんだけど。
772デフォルトの名無しさん (アウアウウー Sa85-dxf9)
2019/09/24(火) 00:09:30.85ID:ftn8dtDua773デフォルトの名無しさん (ワッチョイ a207-vIUH)
2019/09/24(火) 11:39:03.69ID:vbZsX/Wo0 書き込みは、人を憎んでコードを憎まずのこころで行いましょう。
たとえクソコードであっても悪いのは書いた人だけです。
コードやプログラミング言語に罪は一切ありません。
コードの悪口はやめましょう。
クソコードの修正と言わず、リファクタリングといえばいいのです。
大量殺人犯や c# プログラマーの醜い心はリファクタリング不可能ですが、コードのリファクタリングはカンタンですよ。
https://www.google.co.jp/amp/s/anond.hatelabo.jp/touch/20180319181104%3fmode=amp
たとえクソコードであっても悪いのは書いた人だけです。
コードやプログラミング言語に罪は一切ありません。
コードの悪口はやめましょう。
クソコードの修正と言わず、リファクタリングといえばいいのです。
大量殺人犯や c# プログラマーの醜い心はリファクタリング不可能ですが、コードのリファクタリングはカンタンですよ。
https://www.google.co.jp/amp/s/anond.hatelabo.jp/touch/20180319181104%3fmode=amp
774デフォルトの名無しさん (ラクッペ MMc1-WGWF)
2019/09/24(火) 12:11:17.28ID:yrtqWHxIM 性格の悪さもリファクタリングしてくれ
775デフォルトの名無しさん (エムゾネ FF22-9GzD)
2019/09/24(火) 14:58:01.43ID:oiN+60axF 性格はコードに滲み出るよ
776デフォルトの名無しさん (ワッチョイ 216e-iM7L)
2019/09/24(火) 23:29:02.86ID:OoYPx0Tk0 性格は分からないけど姿勢みたいなものは見えると思ってる
こんなコピペばかりして少しはおかしいと思わないのかな?とかこんな古い書き方して言語の文法ざっとでもいいから一通り見たのかな?とか
いいコードを書こうとしてる人とそうでない人の差ってすごくよく分かる。本当に能力無くて頑張って頑張ってるのにひどいって場合もきっとあるんだろうけど
こんなコピペばかりして少しはおかしいと思わないのかな?とかこんな古い書き方して言語の文法ざっとでもいいから一通り見たのかな?とか
いいコードを書こうとしてる人とそうでない人の差ってすごくよく分かる。本当に能力無くて頑張って頑張ってるのにひどいって場合もきっとあるんだろうけど
777デフォルトの名無しさん (ワッチョイ 4690-jgJV)
2019/09/24(火) 23:44:57.44ID:3clb0+hp0 ようわからんけど動いてるからヨシ!
778デフォルトの名無しさん (ワッチョイ 7901-EJEl)
2019/09/25(水) 07:36:43.68ID:apbfD+2I0 式木がイケてるらしいですが使いどころが解りません
プロの皆さんはどこで使ってますか?
プロの皆さんはどこで使ってますか?
779デフォルトの名無しさん (ドコグロ MMca-+KEk)
2019/09/25(水) 10:16:37.93ID:HV92OfVjM780デフォルトの名無しさん (ワッチョイ 6e63-JE5y)
2019/09/25(水) 22:57:19.53ID:5YRgoX3y0 >人を憎んでコードを憎まず
逆じゃないんかおい
逆じゃないんかおい
781デフォルトの名無しさん (ワッチョイ 0279-Ms+D)
2019/09/25(水) 23:01:24.46ID:1MbrNFaz0 自分より給料貰ってる先輩(笑)が
クソコードを産み落としていた場合は人もコードも憎む
というか蔑む
クソコードを産み落としていた場合は人もコードも憎む
というか蔑む
782デフォルトの名無しさん (ワッチョイ 6e63-JE5y)
2019/09/25(水) 23:16:09.44ID:5YRgoX3y0 何をもってくそコードと言ってるのか
783デフォルトの名無しさん (ワッチョイ 0279-Ms+D)
2019/09/25(水) 23:38:23.64ID:1MbrNFaz0 何を以ってクソコードかは難しいところだが具体例なら無数に挙げられるぞ
switchを使わず延々とif-else if分岐
if(flag) return ture; return false;
一行違うだけのメソッド大量生成
マジックナンバーだらけ
コレクションはほとんどList
かと思えば特にライブラリに必要とされているわけでもないobject[]
もちろんパターンマッチングなんて概念は存在しない
out代わりにrefを使う
boolではなくintをフラグとして使う
クラス内のあらゆる場所から明示されず書き換えられるフィールド
どう見ても親子関係にない継承
メソッド1個300行以上
これがさぞ大変な処理かと思えばリファクタリングしたら40行で書けた
1行に300文字以上
リソースでもFormsでもない普通のクラスが4000行
switchを使わず延々とif-else if分岐
if(flag) return ture; return false;
一行違うだけのメソッド大量生成
マジックナンバーだらけ
コレクションはほとんどList
かと思えば特にライブラリに必要とされているわけでもないobject[]
もちろんパターンマッチングなんて概念は存在しない
out代わりにrefを使う
boolではなくintをフラグとして使う
クラス内のあらゆる場所から明示されず書き換えられるフィールド
どう見ても親子関係にない継承
メソッド1個300行以上
これがさぞ大変な処理かと思えばリファクタリングしたら40行で書けた
1行に300文字以上
リソースでもFormsでもない普通のクラスが4000行
784デフォルトの名無しさん (ササクッテロ Sp51-WUQ/)
2019/09/25(水) 23:54:44.99ID:NtFNmlTfp >>778
ドカタだけどlinqのwhereメソッドの引数を動的に生成するときに使った
ここ参考になるよ
https://www.atmarkit.co.jp/fdotnet/dotnettips/986dynamiclinq/dynamiclinq.html
ドカタだけどlinqのwhereメソッドの引数を動的に生成するときに使った
ここ参考になるよ
https://www.atmarkit.co.jp/fdotnet/dotnettips/986dynamiclinq/dynamiclinq.html
785デフォルトの名無しさん (ワッチョイ 7f63-aXvP)
2019/09/26(木) 00:03:29.50ID:68XB546j0786デフォルトの名無しさん (ワッチョイ c76e-upKm)
2019/09/26(木) 00:08:48.21ID:QoSQSwcY0 >>783
>>switchを使わず延々とif-else if分岐
>>マジックナンバーだらけ
>>クラス内のあらゆる場所から明示されず書き換えられるフィールド
>>メソッド1個300行以上
>>リソースでもFormsでもない普通のクラスが4000行
今直面してるのにまさに当てはまっててもう
>>コレクションはほとんどList
こっちはListどころか配列しか使わないんだぜ。もう書き方が完全にC
>>switchを使わず延々とif-else if分岐
>>マジックナンバーだらけ
>>クラス内のあらゆる場所から明示されず書き換えられるフィールド
>>メソッド1個300行以上
>>リソースでもFormsでもない普通のクラスが4000行
今直面してるのにまさに当てはまっててもう
>>コレクションはほとんどList
こっちはListどころか配列しか使わないんだぜ。もう書き方が完全にC
787デフォルトの名無しさん (ワッチョイ 7f63-aXvP)
2019/09/26(木) 00:09:16.61ID:NU/jFtK40 メソッド以外はどれも影響は大きくないし
多少大きくてもテストできればなんとかなる
ちょっとした文化の違い程度の話だ
多少大きくてもテストできればなんとかなる
ちょっとした文化の違い程度の話だ
788デフォルトの名無しさん (ワッチョイ 7f63-aXvP)
2019/09/26(木) 00:10:34.86ID:NU/jFtK40 初心者が一見してくそ呼ばわりするコードはたぶんくそじゃない
わかるから細かい粗が目に付く
普遍的恐怖を知るべきだ
ぐちゃぐちゃな循環参照
テストできないメソッド
う そ っ ぱ ち の 名 前
わかるから細かい粗が目に付く
普遍的恐怖を知るべきだ
ぐちゃぐちゃな循環参照
テストできないメソッド
う そ っ ぱ ち の 名 前
789デフォルトの名無しさん (ワッチョイ c7da-S/NQ)
2019/09/26(木) 00:15:27.94ID:ThQ6mTfg0 突然現れるlinqの長々としたクエリ式
せてめメソッド式にしてくれ
せてめメソッド式にしてくれ
790デフォルトの名無しさん (ワッチョイ 7f63-aXvP)
2019/09/26(木) 00:18:57.61ID:NU/jFtK40 しかしC#いつのまにやらパターンマッチまで入ってたんか…
791デフォルトの名無しさん (ワッチョイ ff0d-hLG/)
2019/09/26(木) 00:28:52.23ID:ZFJdpCv/0 sqlを全て文字列結合で作ってるうえに500行以上あったときは後輩に丸投げした
792デフォルトの名無しさん (スププ Sd7f-Mf0M)
2019/09/26(木) 03:16:32.66ID:wZcpOMsUd793デフォルトの名無しさん (ササクッテロ Spbb-Xp2G)
2019/09/26(木) 11:30:46.50ID:Av/VHz3vp あいつに任せた俺の責任だからって最初から頭数に入れていないから憎みもしない。必要なら全面書き直しもいとわない。
794デフォルトの名無しさん (ワッチョイ 47a5-MO5W)
2019/09/26(木) 20:59:42.99ID:7bLC7yvk0 なんでListがいかんのか?
795デフォルトの名無しさん (ワッチョイ e7da-/0jh)
2019/09/26(木) 21:12:02.17ID:aLxxu1ok0 ビットで判定とるのがいかんのか?
796デフォルトの名無しさん (ワッチョイ 5f79-S/NQ)
2019/09/26(木) 21:18:55.30ID:fUfQlO4W0 7f63-aXvPからクソグラマーの臭いがする
797デフォルトの名無しさん (ワッチョイ 5f79-S/NQ)
2019/09/26(木) 21:21:22.68ID:fUfQlO4W0798デフォルトの名無しさん (ワッチョイ e7da-/0jh)
2019/09/26(木) 21:37:16.13ID:aLxxu1ok0 ZDDをboolの配列で評価するの?orz
799デフォルトの名無しさん (ワッチョイ 5f79-S/NQ)
2019/09/26(木) 21:40:05.70ID:fUfQlO4W0 >>798
特別な理由がないならと言ってるだろうが
特別な理由がないならと言ってるだろうが
800デフォルトの名無しさん (ワッチョイ c76e-upKm)
2019/09/26(木) 22:03:13.49ID:QoSQSwcY0 windows formsの書き方についてなんですけど
メイン画面にタブがいっぱいあってそれを切り替えて……みたいなアプリなんです
んで中身見たらFormクラスが1万行オーバーで。画面一つだからって何もかも突っ込んでる感じなんです
画面というかフォーム一つで1クラスみたいなのが通常の書き方なんでしょうか
メイン画面にタブがいっぱいあってそれを切り替えて……みたいなアプリなんです
んで中身見たらFormクラスが1万行オーバーで。画面一つだからって何もかも突っ込んでる感じなんです
画面というかフォーム一つで1クラスみたいなのが通常の書き方なんでしょうか
801デフォルトの名無しさん (ササクッテロ Spbb-Xp2G)
2019/09/26(木) 22:10:14.52ID:Av/VHz3vp 普通はブロックに分ける。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【無言】中国怒らせた高市首相→1週間だんまり、国民に実害も説明なし 中国問題を避けてスルー… ★4 [BFU★]
- 【いちご高騰】ヤマザキのクリスマスケーキ、いちご無し販売 [おっさん友の会★]
- 【日中対立】 朝日新聞のタイトル修正が中国逆ギレの火種か SNSで批判相次ぐ [♪♪♪★]
- ネット殺到「高市総理の責任」「完全に高市リスク」「負けるな」中国が水産物輸入停止→流石に総理批判の声も「どう責任取る?」 ★10 [樽悶★]
- 「ドラゴンボール」初の全世界キャラクター人気投票が開幕!212キャラからナンバーワンが決まる!! [ひかり★]
- 【音楽】『日本レコード大賞』各賞発表! 大賞候補にILLIT、M!LK、ふるっぱー、幾田りら、アイナ、ミセスら… 作詩賞は指原莉乃 [冬月記者★]
- 中国、レアアース輸出制限wwwwwwwwwwwwwwwwwwwwwwww🎌 [329329848]
- 橋下徹「中国こそ国家としてのあるべき姿!!」
- ( ´・ω・` )ぶーぶー
- 【すべてが】𝗮𝗺͜𝗮͉𝘇𝗼𝗻ブラックフライデーSALE総合【いいだろ!】 [194819832]
- 【訃報】日経平均先物逝く、円安株安債券安 [943688309]
- 【高市速報】日本人の3割「中国への武力行使に踏み切る必要がある」ANN世論調査 [931948549]
