!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
■Visual Studio 2017 Community(無償の統合開発環境)等はこちら
http://www.visualstudio.com/downloads/
■コードを貼る場合はこちら
http://ideone.com/
■前スレ
C#, C♯, C#相談室 Part94
https://mevius.5ch.net/test/read.cgi/tech/1553075856/
■次スレは>>970が建てる事。
建てられない場合は他を指定する事。
C#, C♯, C#相談室 Part96
https://mevius.5ch.net/test/read.cgi/tech/1639965805/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
探検
C#, C♯, C#相談室 Part97
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ d707-bKpv)
2022/12/21(水) 10:18:38.02ID:DxBIri9+050デフォルトの名無しさん (アウアウウー Sac7-jVCh)
2023/01/06(金) 15:16:54.53ID:QdJf8bLxa 方法が違うだけでC#でも簡単にできるだろw
51デフォルトの名無しさん (アウアウウー Sac7-7txW)
2023/01/06(金) 17:46:49.43ID:MJJvxMZsa >>50
どうやるの?
どうやるの?
52デフォルトの名無しさん (ワッチョイ 972f-6bDn)
2023/01/06(金) 19:39:06.39ID:7HwChuQ+0 >>49
それ、そのクラスのプロパティも読み取り専用になるのか?
それ、そのクラスのプロパティも読み取り専用になるのか?
53デフォルトの名無しさん (アウアウウー Sac7-IAh0)
2023/01/06(金) 20:12:53.98ID:KHJficEWa >>52
C++のconstの場合は、フィールドが全て読み取り専用になり、読み取り専用(const)としてマークされたメソッドしか呼べなくなる
TypeScriptのReadonly<>の場合は、全プロパティが読み取り専用になった「型」が生成される
TypeScriptというかJSではメソッドは単に関数を返すプロパティなので、メソッドの内容には特に関知しない
C++のconstの場合は、フィールドが全て読み取り専用になり、読み取り専用(const)としてマークされたメソッドしか呼べなくなる
TypeScriptのReadonly<>の場合は、全プロパティが読み取り専用になった「型」が生成される
TypeScriptというかJSではメソッドは単に関数を返すプロパティなので、メソッドの内容には特に関知しない
54デフォルトの名無しさん (オイコラミネオ MM5d-Or7w)
2023/01/07(土) 10:18:16.28ID:FC273Y3JM55デフォルトの名無しさん (ドコグロ MMa3-4fYz)
2023/01/07(土) 11:12:47.51ID:ErVvBSvoM56デフォルトの名無しさん (ワッチョイ 9379-G8G4)
2023/01/07(土) 11:42:41.36ID:iltXkPxC0 継承後のクラス定義って、継承前より厳しくできたっけ?
57デフォルトの名無しさん (オイコラミネオ MM5d-DSRP)
2023/01/07(土) 13:01:01.65ID:FC273Y3JM58デフォルトの名無しさん (オイコラミネオ MM5d-DSRP)
2023/01/07(土) 13:01:54.79ID:FC273Y3JM これ以上短い書き方なんてできるか?
59デフォルトの名無しさん (スッププ Sdb3-BvPj)
2023/01/07(土) 13:51:35.25ID:unZBLw7Xd60デフォルトの名無しさん (オイコラミネオ MM5d-Or7w)
2023/01/07(土) 14:55:27.90ID:FC273Y3JM 既存のプロパティに当たるものをconstにするのは全部定義しなおしてるの同じなんだけど…
どういうやり方で既存のプロパティを定義してるのかもわからないし意味不明だなと
どういうやり方で既存のプロパティを定義してるのかもわからないし意味不明だなと
61デフォルトの名無しさん (オイコラミネオ MM5d-Or7w)
2023/01/07(土) 14:56:55.34ID:FC273Y3JM うまく行くならプロパティのsetをinitアクセサに変えるだけなんだけど
62デフォルトの名無しさん (オイコラミネオ MM5d-Or7w)
2023/01/07(土) 15:35:50.01ID:FC273Y3JM 特定のコンテキストで書き換え不可
状況次第で書き換えの可否を変える
とかならめんどいけどそういう話じゃないんだろ
状況次第で書き換えの可否を変える
とかならめんどいけどそういう話じゃないんだろ
63デフォルトの名無しさん (アウアウウー Sa85-BvPj)
2023/01/07(土) 16:17:29.42ID:rg/VZrjHa >>60
いやまともなC++のコードならgetterはconstで定義されてるはずだから、変数の型をconstにするだけでreadonlyになるよ
いやまともなC++のコードならgetterはconstで定義されてるはずだから、変数の型をconstにするだけでreadonlyになるよ
64デフォルトの名無しさん (ワッチョイ 9301-GR7q)
2023/01/07(土) 17:38:18.83ID:mDCtTa800 君たち的に.NET MAUIでandroid,iphone,WindowsでC#のネタ帳的なの作ったら協力してくれる?
小ネタ集みたいなのを各々がSQLで保存してそれをカテゴリ分けで見れるようにするやつ
例えばRestAPI関係だったりの基本的な書き方を表示したりできる
ネットで調べれば一発だが1つにまとまってるのは利点かと、、、
小ネタ集みたいなのを各々がSQLで保存してそれをカテゴリ分けで見れるようにするやつ
例えばRestAPI関係だったりの基本的な書き方を表示したりできる
ネットで調べれば一発だが1つにまとまってるのは利点かと、、、
65デフォルトの名無しさん (ワッチョイ 1176-1Rsz)
2023/01/07(土) 17:48:11.52ID:odL5Q3k30 wiki立ち上げればええやん
66デフォルトの名無しさん (オイコラミネオ MM5d-DSRP)
2023/01/07(土) 18:07:01.95ID:FC273Y3JM 多分世界中のc#プログラマの99.9%は.NET MAUIに興味ないと思う
67デフォルトの名無しさん (ワッチョイ b101-phWz)
2023/01/07(土) 18:08:54.54ID:St5PAkDm0 winui3でよくね?
68デフォルトの名無しさん (オイコラミネオ MM5d-DSRP)
2023/01/07(土) 18:14:01.42ID:FC273Y3JM と言うよりいい加減いくつフレームワーク立ち上げれば済むんだよ
モバイル関連は全部html+jsにしてデバイスを仮想サーバにしてそいつにREST api投げてjsonでセンサ値とか取るようにすればいい
そしたらもう再生産しなくていい
モバイル関連は全部html+jsにしてデバイスを仮想サーバにしてそいつにREST api投げてjsonでセンサ値とか取るようにすればいい
そしたらもう再生産しなくていい
69デフォルトの名無しさん (スッププ Sdb3-BvPj)
2023/01/07(土) 18:17:46.74ID:unZBLw7Xd70デフォルトの名無しさん (ワッチョイ 9301-GR7q)
2023/01/07(土) 18:24:07.38ID:mDCtTa800 >>69
なるほど
なるほど
71デフォルトの名無しさん (オイコラミネオ MM5d-DSRP)
2023/01/07(土) 18:25:21.79ID:FC273Y3JM 一度覚えた技術を何十年も使いまわせるような仕組みにしろよ
都度都度新しいAPIセット出して馬鹿なのかMSは?
都度都度新しいAPIセット出して馬鹿なのかMSは?
72デフォルトの名無しさん (ワッチョイ 2b7b-UYKP)
2023/01/07(土) 18:30:58.40ID:UPEdDe6/0 ワッチョイ 9301
こいつマウイ君だろ、自分のスレでやれ。NG
こいつマウイ君だろ、自分のスレでやれ。NG
73デフォルトの名無しさん (ワッチョイ b101-phWz)
2023/01/07(土) 18:44:15.99ID:St5PAkDm0 ここにまでマウイ出張ってきたか
ちゃんとワッチョイを恐れろよ
ちゃんとワッチョイを恐れろよ
74デフォルトの名無しさん (ワッチョイ 93ad-5W0d)
2023/01/07(土) 20:02:44.89ID:Xl5j6yUn0 マウいじゃん
75デフォルトの名無しさん (オイコラミネオ MM5d-DSRP)
2023/01/07(土) 21:02:06.62ID:FC273Y3JM そんなにマウいかな?
76デフォルトの名無しさん (アウアウウー Sa85-5W0d)
2023/01/07(土) 21:14:41.15ID:mnUUIrvLa チョベリグ
77デフォルトの名無しさん (ワッチョイ 515f-DWwd)
2023/01/07(土) 22:07:32.34ID:8LnSupdD078デフォルトの名無しさん (ワッチョイ 9301-GR7q)
2023/01/07(土) 23:32:10.91ID:mDCtTa800 >>77
copilotって別にこれしたいって言えば全部記入してくれるわけじゃなくね?
俺としてはあぁRestAPIの使い方ど忘れした~
なんだったっけ???ってGoogleで調べる時間をアプリで素早く検索できるって感じのものを作りたいかな
2,3回やったことあるやつでもどうだったっけ?って忘れることままある
まぁGoogleとかでいいんだけど1つのアプリにまとまってるってのはなかなか便利なんじゃないかなと…
copilotって別にこれしたいって言えば全部記入してくれるわけじゃなくね?
俺としてはあぁRestAPIの使い方ど忘れした~
なんだったっけ???ってGoogleで調べる時間をアプリで素早く検索できるって感じのものを作りたいかな
2,3回やったことあるやつでもどうだったっけ?って忘れることままある
まぁGoogleとかでいいんだけど1つのアプリにまとまってるってのはなかなか便利なんじゃないかなと…
79デフォルトの名無しさん (ワッチョイ 9301-GR7q)
2023/01/07(土) 23:32:40.09ID:mDCtTa800 自分で追加もできるしな
80デフォルトの名無しさん (ワッチョイ 795f-4fYz)
2023/01/08(日) 16:11:14.19ID:qCDijd6S0 Aクラスを継承したBクラスがあります
BクラスのリストにAクラスをAddしたいんですが、どうすればいいのでしょうか?
BクラスのリストにAクラスをAddしたいんですが、どうすればいいのでしょうか?
81デフォルトの名無しさん (ワッチョイ 99a7-DWwd)
2023/01/08(日) 16:20:03.96ID:PrLa9yfk082デフォルトの名無しさん (ワッチョイ 137c-Or7w)
2023/01/08(日) 16:24:40.95ID:GEbVHkXI0 >>80みたいな質問する奴って意味も分からず継承使ってたりしてそうで怖いわw
83デフォルトの名無しさん (ワッチョイ 1176-1Rsz)
2023/01/08(日) 16:25:49.80ID:+2bxRzY60 A a=new B(); とかで、実体がB型かもしれないならBにキャストすればいい。
A a=new A(); でA型そのものだったらそもそもこの話は成立しない。
list.Add((B)a);
A a=new A(); でA型そのものだったらそもそもこの話は成立しない。
list.Add((B)a);
84デフォルトの名無しさん (スッププ Sdb3-BvPj)
2023/01/08(日) 16:40:39.00ID:Z6otLx+Dd >>78
massCodeとかgistとかでいいんじゃない
massCodeとかgistとかでいいんじゃない
85デフォルトの名無しさん (ワッチョイ 9301-GR7q)
2023/01/08(日) 16:50:26.87ID:+xzWagUM0 >>80
継承じゃなくてBクラスにAクラスのプロパティのリストを入れる場合はたしかいけたぞ
継承じゃなくてBクラスにAクラスのプロパティのリストを入れる場合はたしかいけたぞ
86デフォルトの名無しさん (テテンテンテン MM4b-yRwU)
2023/01/10(火) 13:29:49.07ID:yPlBxuJ3M >>71
ほんとこれ
ほんとこれ
87デフォルトの名無しさん (ワッチョイ 09ae-oTKG)
2023/01/10(火) 15:05:52.75ID:ZisiPnco0 スマホアプリ作ってると毎年アプデで便利な機能がdeprecatedされてくのがストレス
それに比べたらMSの方が優しい
それに比べたらMSの方が優しい
88デフォルトの名無しさん (アウグロ MM65-KwfY)
2023/01/10(火) 17:23:44.95ID:qAIynO1bM89デフォルトの名無しさん (ワッチョイ 137c-Or7w)
2023/01/10(火) 18:28:40.94ID:IC+XgAqf0 android何かも最近コード書いてないけど、非推奨や消えたりする機能が結構あるよね
古いコードをメンテナンスするときに良く引っかかる気がするわ
古いコードをメンテナンスするときに良く引っかかる気がするわ
90デフォルトの名無しさん (ワッチョイ b101-tb1I)
2023/01/10(火) 19:16:36.48ID:0yW4rCRf0 C言語の重力付き4目並べです、ここのコードを簡略化したいです。
int SetXpos(int player) // コマの置き場所を入力または探して盤を更新,コマの置き場所(0-6)を返す
{
int xpos = 0; // コマの置き場所
if ((choice == 2 && player == 2) || (choice == 3 && player == 1)) // コンピュータとの対戦の場合に,コンピュータの手を計算
{
xpos = ComputeXpos(player);
printf("%sの番です\n", player == 1 ? "●" : "〇");
printf("コンピュータは%dに置きます\n", xpos);
}
else // 人間の手を選択
{
while (1)
{
printf("%sの番です\n", player == 1 ? "●" : "〇");
printf("どこに置きますか? 0-6の数字を半角で入力してください: ");
scanf_s("%d", &xpos);
if ((0 <= xpos && xpos < XMAX) && (num[xpos] < YMAX)) // 置ける場所かどうか判定
break;
printf("%dには置けません!\n", xpos);
}
}
board[xpos][num[xpos]++] = player;// コマをxpos列に置き,xpos列のコマ数を1増やす
return xpos;
}
int SetXpos(int player) // コマの置き場所を入力または探して盤を更新,コマの置き場所(0-6)を返す
{
int xpos = 0; // コマの置き場所
if ((choice == 2 && player == 2) || (choice == 3 && player == 1)) // コンピュータとの対戦の場合に,コンピュータの手を計算
{
xpos = ComputeXpos(player);
printf("%sの番です\n", player == 1 ? "●" : "〇");
printf("コンピュータは%dに置きます\n", xpos);
}
else // 人間の手を選択
{
while (1)
{
printf("%sの番です\n", player == 1 ? "●" : "〇");
printf("どこに置きますか? 0-6の数字を半角で入力してください: ");
scanf_s("%d", &xpos);
if ((0 <= xpos && xpos < XMAX) && (num[xpos] < YMAX)) // 置ける場所かどうか判定
break;
printf("%dには置けません!\n", xpos);
}
}
board[xpos][num[xpos]++] = player;// コマをxpos列に置き,xpos列のコマ数を1増やす
return xpos;
}
91デフォルトの名無しさん (ワッチョイ 2bbb-GB4Q)
2023/01/10(火) 19:28:44.72ID:uTLnAVho0 頑張ってください
92デフォルトの名無しさん (ワッチョイ 137c-Or7w)
2023/01/10(火) 19:32:45.96ID:IC+XgAqf0 そもそもC#のスレだからすれ違いだがw
printf("%sの番です\n", player == 1 ? "●" : "〇");
をifの前にするとか(それぞれにあるから冗長)
プレイヤーの処理もPlayerXpos()とかに出すとかすれば良いのでは?
printf("%sの番です\n", player == 1 ? "●" : "〇");
をifの前にするとか(それぞれにあるから冗長)
プレイヤーの処理もPlayerXpos()とかに出すとかすれば良いのでは?
93デフォルトの名無しさん (ワッチョイ b101-tb1I)
2023/01/13(金) 06:38:18.48ID:CqT5d+dn0 ありがとうございます
94デフォルトの名無しさん (ワッチョイ ca01-FIs7)
2023/01/15(日) 19:05:41.63ID:CnKOeOE30 Shift-JISの文字列をutr-8に簡単に変換する方法ってありますか?
やはり一度Stream(バイナリ)に変換する必要があるのでしょうか
やはり一度Stream(バイナリ)に変換する必要があるのでしょうか
95デフォルトの名無しさん (ワッチョイ 867b-UaDV)
2023/01/15(日) 19:23:52.26ID:gGAdUt3l096デフォルトの名無しさん (ワッチョイ ca01-FIs7)
2023/01/15(日) 19:25:34.21ID:CnKOeOE30 >>95
つまりstringの状態でencodingは可能なのですか?
つまりstringの状態でencodingは可能なのですか?
97デフォルトの名無しさん (ワッチョイ ca01-FIs7)
2023/01/15(日) 19:28:04.22ID:CnKOeOE30 C#でRestAPIを投げてブラウザ側から貰ってくる文字列はShift-JISらしい
それでC#はutr-8で表記されるため変換(Encoding)が必要になるのです
それでC#はutr-8で表記されるため変換(Encoding)が必要になるのです
98デフォルトの名無しさん (ワッチョイ caad-vAbj)
2023/01/15(日) 19:51:16.92ID:wUGuc0E00 stringはunicodeだぞ?
99デフォルトの名無しさん (オイコラミネオ MMe5-f6s+)
2023/01/15(日) 22:26:45.28ID:pBiKKGenM unicodeは符号化方式など規格とそのコード群の名前
100デフォルトの名無しさん (ワッチョイ 954f-wtyD)
2023/01/15(日) 22:56:10.93ID:AxXMsEIz0 そのREST APIをどうやって呼び出してるのか知らんけど
真っ当なサーバならContent-Typeにcharset設定してて
一般的なライブラリなら文字列として読み取るときにcharset参照して適切に文字列型に変換してくれる
から特にプログラマが考えることはない
これらの前提が崩れてるなら文字列として読み取るんじゃなくてバイト配列として読み取って
System.Text.Encodingクラスを使ってバイト配列をstringに変換する必要がある
この場合変換先の符号化形式を考える必要はなくてShift_JISをstringに変換することだけ考えればいい
もしライブラリの都合でstringとして受け取ることしかできなくて
かつその時点で文字化けが出るようなら
それはもうどうしようもないので使うライブラリを変える必要がある
真っ当なサーバならContent-Typeにcharset設定してて
一般的なライブラリなら文字列として読み取るときにcharset参照して適切に文字列型に変換してくれる
から特にプログラマが考えることはない
これらの前提が崩れてるなら文字列として読み取るんじゃなくてバイト配列として読み取って
System.Text.Encodingクラスを使ってバイト配列をstringに変換する必要がある
この場合変換先の符号化形式を考える必要はなくてShift_JISをstringに変換することだけ考えればいい
もしライブラリの都合でstringとして受け取ることしかできなくて
かつその時点で文字化けが出るようなら
それはもうどうしようもないので使うライブラリを変える必要がある
101デフォルトの名無しさん (アウアウウー Sa91-wtyD)
2023/01/15(日) 23:38:57.01ID:r5uLxMWea sjis/CP932 とか、何十年前の話w
sjisのサイトも、5ch だけだろw
sjisのサイトも、5ch だけだろw
102デフォルトの名無しさん (オイコラミネオ MMe5-f6s+)
2023/01/16(月) 00:18:41.42ID:sUZCnaKRM 古の生き残りのサイトもsjis
chromeが文字コード判定ミスしてても今は手動で文字コードは変えられない
chromeが文字コード判定ミスしてても今は手動で文字コードは変えられない
103デフォルトの名無しさん (ワッチョイ ca01-FIs7)
2023/01/16(月) 01:06:54.26ID:Iz2auSAp0104デフォルトの名無しさん (アウアウウー Sa91-OPB1)
2023/01/17(火) 01:05:55.75ID:BTJjkb3Ra 手動で文字コードを変更できる、Chrome の拡張機能は無いの?
105デフォルトの名無しさん (スップ Sdea-dnaz)
2023/01/17(火) 18:23:06.75ID:EvOewZJzd ブックマークレットのレベルで出来そう
知らんけど
知らんけど
106デフォルトの名無しさん (アウアウウー Sa91-5Koo)
2023/01/17(火) 19:13:35.87ID:reGY8TLTa charsetのタグいれればええんかね
107デフォルトの名無しさん (アウアウウー Sa91-vAbj)
2023/01/17(火) 19:17:51.92ID:3iw8L5pXa x-sjisとかの指定もあったからな
108デフォルトの名無しさん (アウアウウー Sa91-MQRM)
2023/01/18(水) 12:59:30.83ID:KNmhbmwea >>104
たくさんあるが
たくさんあるが
109デフォルトの名無しさん (ワッチョイ cd35-5Koo)
2023/01/18(水) 20:59:57.78ID:5annSIeD0 たくさんあるのかよ
一個でいいやろ
一個でいいやろ
110デフォルトの名無しさん (ワッチョイ 211d-+AQV)
2023/01/18(水) 21:51:34.28ID:oIAAyMph0 win32APiのChangeDisplaySettingsExをC#から呼び出して、
モニタのポジションを変更してるんだけど、
変更直後にScreenのBoundsから値をとっても値が変化しない・・・
アプリ再起動するとちゃんと変わってる。
ディスプレイの設定ってレジストリに保存してるから、もしかして
アプリ再起動しないとScreenクラスのBounds反映されない?
アプリ再起動せずになんとかする方法ないですかね?
モニタのポジションを変更してるんだけど、
変更直後にScreenのBoundsから値をとっても値が変化しない・・・
アプリ再起動するとちゃんと変わってる。
ディスプレイの設定ってレジストリに保存してるから、もしかして
アプリ再起動しないとScreenクラスのBounds反映されない?
アプリ再起動せずになんとかする方法ないですかね?
111デフォルトの名無しさん (ワッチョイ 06bb-fEm4)
2023/01/18(水) 22:07:32.78ID:jVn9UUXQ0 自分でバンズ計算すりゃいいじゃない
知らんけど
知らんけど
112デフォルトの名無しさん (ワッチョイ 954f-wtyD)
2023/01/18(水) 22:14:35.47ID:/+rmiMsB0 Screenオブジェクトフィールドに保存してたりする?
毎回Screen.AllScreensとか.PrimaryScreenとかから取得すればどう?
ところでSystemEvents.DisplaySettingsChangedイベントは発生してる?
毎回Screen.AllScreensとか.PrimaryScreenとかから取得すればどう?
ところでSystemEvents.DisplaySettingsChangedイベントは発生してる?
113デフォルトの名無しさん (ドコグロ MM4e-ha7Y)
2023/01/19(木) 07:38:17.94ID:K9HYHkiWM 2つのクラスを1つのクラスに合体させて使いたいんだけど、どうやるのがスマートですか?
多重継承ができたら良かったんですが…
多重継承ができたら良かったんですが…
114デフォルトの名無しさん (ササクッテロラ Sp6d-/qpm)
2023/01/19(木) 09:03:14.21ID:Hct/UdRpp 合体?
またなんで、改悪臭しかしないわ
またなんで、改悪臭しかしないわ
115デフォルトの名無しさん (ワッチョイ 4149-kID6)
2023/01/19(木) 09:25:09.63ID:LXNiK0p/0 そういうのは大体気の迷いだから、落ち着いて全体から考え直せば
116デフォルトの名無しさん (ササクッテロラ Sp6d-/qpm)
2023/01/19(木) 09:44:42.78ID:Hct/UdRpp むしろ機能単位で分解するのが健全な方向なのに
違う機能を似たものだから合体とかわりと誤った方向に行く人かな?
違う機能を似たものだから合体とかわりと誤った方向に行く人かな?
117デフォルトの名無しさん (ワッチョイ caad-vAbj)
2023/01/19(木) 09:56:12.01ID:zVWBDbvx0 ライオンクラスと山羊クラスと蛇クラスを一つにしたいんです
118デフォルトの名無しさん (ワッチョイ 0507-EebW)
2023/01/19(木) 10:01:07.14ID:yp2D21uT0 >>117
つトレイト
つトレイト
119デフォルトの名無しさん (ブーイモ MM2e-laSj)
2023/01/19(木) 10:51:30.57ID:Iv2veF3WM120デフォルトの名無しさん (ワッチョイ 0507-EebW)
2023/01/19(木) 11:01:05.91ID:yp2D21uT0121デフォルトの名無しさん (ワッチョイ 0507-EebW)
2023/01/19(木) 11:01:57.47ID:yp2D21uT0 >>119
トレイトはフィールドを持てるから同じではないけど言いたいことはわかる
トレイトはフィールドを持てるから同じではないけど言いたいことはわかる
122デフォルトの名無しさん (ワッチョイ 06bb-JXbu)
2023/01/19(木) 11:31:03.31ID:kysdIh6r0 質問内容はクラスをまとめたいってことなので、ずれちゃう話にはなるけどさあ
(フレームワーク等を使う場面を除いて)初心者中級者のうちにクラスを継承をしようと思ったら設計段階でおかしいので、正解はどうするべきなのかを聞いた方がいいんじゃないのかな
(フレームワーク等を使う場面を除いて)初心者中級者のうちにクラスを継承をしようと思ったら設計段階でおかしいので、正解はどうするべきなのかを聞いた方がいいんじゃないのかな
123デフォルトの名無しさん (ササクッテロラ Sp6d-/qpm)
2023/01/19(木) 12:04:02.54ID:WELAMOcMp クラスインスタンスを取り込めばいいのに
なんで継承にこだわる?
なんで継承にこだわる?
124デフォルトの名無しさん (ドコグロ MM21-ha7Y)
2023/01/19(木) 12:21:58.33ID:tEHmCOQcM やりたいことは
いくつかのプロパティを持つデータを格納するだけのクラスAがある
クラスAにバインド用のプロパティをいくつか追加したクラスBを作って、それのリストをDataViewにバインドしたい
AとBのすべてのプロパティを書いたクラスCを作ればできるけど、なんとかして少ないコードで実現したいです
いくつかのプロパティを持つデータを格納するだけのクラスAがある
クラスAにバインド用のプロパティをいくつか追加したクラスBを作って、それのリストをDataViewにバインドしたい
AとBのすべてのプロパティを書いたクラスCを作ればできるけど、なんとかして少ないコードで実現したいです
125デフォルトの名無しさん (アウアウウー Sa91-EebW)
2023/01/19(木) 12:45:40.56ID:H7hm+dDpa Aをバインドできるよう書き直せばいいんじゃね
126デフォルトの名無しさん (オッペケ Sr6d-2lig)
2023/01/19(木) 12:52:06.93ID:8nS1/G/Mr >クラスAにバインド用のプロパティをいくつか追加したクラスB
>AとBのすべてのプロパティを書いたクラスC
なんかおかしくない?
>AとBのすべてのプロパティを書いたクラスC
なんかおかしくない?
127デフォルトの名無しさん (ワッチョイ 09b3-w88e)
2023/01/19(木) 16:09:46.95ID:h7ydINbB0 Aを継承してバインド用のプロパティを追加したBを作って
List<B>を持つCを作ってそのList<B>をバインドすればいいんじゃないの
List<B>を持つCを作ってそのList<B>をバインドすればいいんじゃないの
128デフォルトの名無しさん (ドコグロ MM21-ha7Y)
2023/01/19(木) 17:30:22.46ID:tEHmCOQcM >>127
それで出来るんですが、バインド用のプロパティが沢山あったときに毎回書くのが面倒で、どうにかして効率化できないか考えてます
それで出来るんですが、バインド用のプロパティが沢山あったときに毎回書くのが面倒で、どうにかして効率化できないか考えてます
129デフォルトの名無しさん (オイコラミネオ MMe5-7DGa)
2023/01/19(木) 18:00:00.70ID:pNQOSNx5M ここですら見かけない超クソ黒魔法もあるけど全くお勧めしない
普通にコンポジションで書くのが正解じゃないかな
アンマネージドなものをラップするのと変わらない
手書きでも自作コードジェネレータでもどうぞ
普通にコンポジションで書くのが正解じゃないかな
アンマネージドなものをラップするのと変わらない
手書きでも自作コードジェネレータでもどうぞ
130デフォルトの名無しさん (オイコラミネオ MMe5-7DGa)
2023/01/19(木) 18:06:50.46ID:pNQOSNx5M 黒魔術な…
131デフォルトの名無しさん (ワッチョイ 29a7-w88e)
2023/01/19(木) 19:44:59.20ID:cZ+iShes0 やりたい事は理解できる
構造体を合体させるにあたりフィールドで保持すれば良いというのはその通りなんだがアクセス手段が冗長になるのは嫌っていうワガママな気分によくなる
C++のように素直に構造体継承や多重継承認めてくれって思う事は頻繁にある
構造体を合体させるにあたりフィールドで保持すれば良いというのはその通りなんだがアクセス手段が冗長になるのは嫌っていうワガママな気分によくなる
C++のように素直に構造体継承や多重継承認めてくれって思う事は頻繁にある
132デフォルトの名無しさん (ササクッテロラ Sp6d-/qpm)
2023/01/19(木) 21:19:14.97ID:z427r+xYp プロパティにしてバケツリレーw
133デフォルトの名無しさん (オッペケ Sr6d-2lig)
2023/01/19(木) 22:05:29.65ID:wlAvkW/br >>128
バインド用のプロパティってクラスAのもつフィールドを参照するの?
バインド用のプロパティってクラスAのもつフィールドを参照するの?
134デフォルトの名無しさん (ドコグロ MM72-ha7Y)
2023/01/20(金) 01:42:18.00ID:Jpp0Ng/yM135デフォルトの名無しさん (ワッチョイ 292f-EsBK)
2023/01/20(金) 12:05:04.93ID:rWqtsOF60136デフォルトの名無しさん (オッペケ Sr6d-2lig)
2023/01/20(金) 20:51:09.38ID:jJGC4T1tr つまるところ、M(クラスA)とVM(クラスB)を煩雑にならないように扱いたいって話かね
この辺は詳しくないけどいろいろプラクティスがあるんじゃない?
この辺は詳しくないけどいろいろプラクティスがあるんじゃない?
137デフォルトの名無しさん (テテンテンテン MM7f-/xz/)
2023/01/21(土) 11:56:14.92ID:cGrVppR7M C#だとあまり楽な方法はない
138デフォルトの名無しさん (ワッチョイ 8307-ycfm)
2023/01/21(土) 12:36:53.78ID:rZUyyxKK0 そんなアホなことしたがるやつがそもそもいないからな
することが多ければすぐに楽な構文が作られるのがC#
することが多ければすぐに楽な構文が作られるのがC#
139デフォルトの名無しさん (ワッチョイ e379-TshA)
2023/01/21(土) 16:52:35.79ID:H5hcEaoi0 C#は基本的に
・static寄せ集めユーティリティのクラス
・必要な画面フォームのクラス
・メインプログラムのクラス
この3つ以外要らないのだよ
意識高い系が説くMやらVに振り回されてはいけないのだよ
変な抽象化は問題をややこしくするだけだと学ぼう
・static寄せ集めユーティリティのクラス
・必要な画面フォームのクラス
・メインプログラムのクラス
この3つ以外要らないのだよ
意識高い系が説くMやらVに振り回されてはいけないのだよ
変な抽象化は問題をややこしくするだけだと学ぼう
140デフォルトの名無しさん (ワッチョイ 8307-ycfm)
2023/01/21(土) 18:17:20.63ID:rZUyyxKK0 スタティックおじさんきたな
141デフォルトの名無しさん (ドコグロ MMff-yYey)
2023/01/21(土) 22:54:03.42ID:XQUa+q2yM142デフォルトの名無しさん (ワッチョイ 6f79-gNeF)
2023/01/22(日) 10:06:15.27ID:rqWd8pMR0 探せば大抵のものはあるのに、自分で作る意味とは?
アートとか、そういう方面しか残ってないような感じがするのですが(´・ω・`)
アートとか、そういう方面しか残ってないような感じがするのですが(´・ω・`)
143デフォルトの名無しさん (アウアウウー Saa7-ycfm)
2023/01/22(日) 11:19:49.43ID:cs1e2wyOa 帳面で効率が悪けりゃソフト使えばいいし効率の良いソフトがみつからなけりゃ作るより他にないだろ
144デフォルトの名無しさん (アウアウウー Saa7-ycfm)
2023/01/22(日) 11:27:13.17ID:cs1e2wyOa145デフォルトの名無しさん (ワッチョイ 5301-bbWX)
2023/01/22(日) 12:53:40.50ID:8KSe/b5e0 最近MVVMのほうが楽じゃね?って思ってきた
楽しいし
楽しいし
146デフォルトの名無しさん (ワッチョイ 5301-bbWX)
2023/01/22(日) 12:54:24.84ID:8KSe/b5e0 これもすべてソースジェネレーターのおかげかもしれん
さすがC#
さすがC#
147デフォルトの名無しさん (スッププ Sd1f-OsG9)
2023/01/22(日) 17:03:04.26ID:jvNfJ0Pqd >>139
うちがWindowsの業務クライアントアプリ系を委託してるソフトハウスがまさにこんな感じだわ
イベントハンドラからSQL投げてる
ただしstaticユーティリティクラスではなく共通の神フォームクラスがあって、全てのフォームがそれを継承する形
まあレベル低すぎて開発もクソ遅いから、負債自体はそれほど量が多くないのは救いかな
うちがWindowsの業務クライアントアプリ系を委託してるソフトハウスがまさにこんな感じだわ
イベントハンドラからSQL投げてる
ただしstaticユーティリティクラスではなく共通の神フォームクラスがあって、全てのフォームがそれを継承する形
まあレベル低すぎて開発もクソ遅いから、負債自体はそれほど量が多くないのは救いかな
148デフォルトの名無しさん (ワッチョイ e379-TshA)
2023/01/22(日) 18:32:18.54ID:xRK/d49A0 >共通の神フォームクラスがあって、全てのフォームがそれを継承する形
こういうのよくないな
神クラスのメンテナが異動だかで居なくなだけで誰も保守できない砂上の楼閣アンチパターンに嵌るね
こういうのよくないな
神クラスのメンテナが異動だかで居なくなだけで誰も保守できない砂上の楼閣アンチパターンに嵌るね
149デフォルトの名無しさん (オイコラミネオ MM07-88l+)
2023/01/22(日) 21:31:04.53ID:ADzURpxfM >>139
実質Cプログラムだな
実質Cプログラムだな
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 橋下徹氏 外務省幹部の訪中受け「口だけ番長」へ痛烈指摘 「喧嘩は日本の完敗…なんとかっこ悪い日本か」 [冬月記者★]
- 【外国人問題】小野田紀美担当相「不法就労や不法滞在は許さない」 [シャチ★]
- 【野球】井端監督 大谷翔平、山本由伸らのWBCへの参加 「1日も早く返事ほしい」「待っててといっても、国内組が遅くなってしまう」★3 [冬月記者★]
- 経団連会長、日中は建設的対話を 経済3団体が高市首相と初会談も日中関係は話題に登らず… [BFU★]
- 中国で「クレしん」公開延期 対日報復、エンタメに波及 [蚤の市★]
- 東京株式市場 インバウンド関連株が下落 中国政府の渡航自粛要請で [バイト歴50年★]
- 中国「高市が頭を下げて謝罪しない限り、絶対に許さない」 [329329848]
- 🏡
- 有識者「高市総理が発言を撤回したり、辞職するしかないと言っている人は、それで日中関係が今まで通りになると思ってる?」 [834922174]
- 減税は低所得者差別
- 元無職「お世話になりました」
- 【動画】陽キャ、パルクール失敗
