ふらっと C#,C♯,C#(初心者用) Part147

■ このスレッドは過去ログ倉庫に格納されています
2020/02/19(水) 17:25:41.55ID:IsrGexiaF
!extend:checked:vvvvv:1000:512
次スレを立てる時は↑を2行冒頭に書くこと(1行分は消えて表示されない為)

「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスや酔っぱらいレスはやめてください
>>980を踏んだ人は新スレを建てて下さい。>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。

■前スレ
ふらっと C#,C♯,C#(初心者用) Part146
https://mevius.5ch.net/test/read.cgi/tech/1576069931/
■関連スレ
C#, C♯, C#相談室 Part95
https://mevius.5ch.net/test/read.cgi/tech/1508168482/
■コードを貼る場合は↓を使いましょう。
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
628デフォルトの名無しさん (ササクッテロレ Sp63-5XO3)
垢版 |
2020/05/14(木) 02:19:30.95ID:2LmxtE+Tp
C#に、lispでいうmapcar関数のようなものはありますか?
2020/05/14(木) 03:11:58.67ID:HxdbbI2M0
>>628
Enumerable.Select()
2020/05/14(木) 10:45:17.58ID:n+ookAJTr
c#頑張ってきたのでc++ちょっとかじって浮気してきまっす!
挫折したら秒で戻ってきまっす!
2020/05/14(木) 11:26:58.59ID:ztWr1bjJ0
目的がかなり違う言語だから気をつけなされ
2020/05/14(木) 14:04:08.71ID:FSEZeoAj0
>>626
Ruby では、`コマンド`、system(コマンド)などは同期処理だけど、
spawn は非同期だから、すぐに子プロセスのPID が返ってくる

だから、Process.waitpid で、子プロセスの終了を待ち合せる必要がある

p pid = spawn('uname') #=> 1142

Process.waitpid pid

出力
Linux
633デフォルトの名無しさん (アウアウウー Sa31-7tKh)
垢版 |
2020/05/14(木) 14:53:15.52ID:0DpJdKOEa
List<string>をfor文中で繰り返し初期化して使用したいのですが、
List<string> 変数 = new List<string>()
で出来ますか?
それともfor文の最後でclearしないといけませんか?
ネットにソースが見当たらないので質問しました。ソースもあるよという方はその内容も教えていただきたく。
お願いいたします。
2020/05/14(木) 15:31:14.00ID:0NVqPTt90
forの中でList<string> 変数 = new List<string>()とループ毎に確保しているのなら終わり際にClearは書かなくていい
文字通りnewだからね
ただパフォーマンス的にはforの前で作ったリストをループ中の最後にClear()して使いまわす方が若干効率は良くなる
一般的な用途であれば差にもならない差だから前者で良いけど
635デフォルトの名無しさん (アウアウウー Sa31-7tKh)
垢版 |
2020/05/14(木) 16:08:02.92ID:0DpJdKOEa
>>634
なるほど、ありがとうございます。
2020/05/14(木) 16:24:15.76ID:oGs32I5W0
>>630
おかえり
2020/05/14(木) 16:24:31.04ID:oGs32I5W0
>>632
さよなら
2020/05/14(木) 16:25:38.87ID:oGs32I5W0
>>635
clearいれるだけ処理遅くなるぞ。不要や
2020/05/14(木) 16:26:53.55ID:oGs32I5W0
>>635
C#にはGC機能があるから
2020/05/14(木) 16:40:09.33ID:IzazKMsN0
>>627
限定的ながらもポインタ使えるんだね、少し>>601がわかった希ガスサンクス
641デフォルトの名無しさん (アウアウウー Sa31-7tKh)
垢版 |
2020/05/14(木) 16:56:49.51ID:0DpJdKOEa
>>639
GC機能ってfor文だけでは機能しないと思っていたんですが、初期化時点で古いのは解放されると思っていいんでしょうか?
2020/05/14(木) 17:09:46.09ID:IJMYY1560
>>638
ここは初心者が回答してみるスレじゃないぞw
2020/05/14(木) 17:11:23.42ID:oGs32I5W0
>>642
はあ?ループ中のリスト毎回clearするなんてアホなコードお前しか書かないだろw
2020/05/14(木) 17:17:42.65ID:PBygD1y70
それは言えてるな
2020/05/14(木) 17:23:39.55ID:0NVqPTt90
ListのClearは内部バッファの中身をデフォルトクリアしてCount = 0とするだけであってバッファのキャパ自体はそのまま
Clear後に利用する際にそのListインスタンスのキャパ以下の利用であれば内部でbuffer = new T[capacity]みたいな処理が走らないから効率化される可能性があるという話

一般的なプログラマであればこのようなことを考える意味は皆無なのでnewし直すが正解で良い
2020/05/14(木) 17:30:23.16ID:IJMYY1560
笑えるwww

今度からいちいちnewしてる馬鹿いたら、
あーこいつは初心者が回答してみるスレの住人だと分かっていいなw
647デフォルトの名無しさん (アウアウウー Sa31-7tKh)
垢版 |
2020/05/14(木) 17:32:02.50ID:0DpJdKOEa
>>645
承知しました。
2020/05/14(木) 17:36:51.73ID:5fNjH7LKM
>>646
恥ずかしい奴
2020/05/14(木) 17:41:31.72ID:IJMYY1560
>>648 ←ループの中でいちいちnewしてたnewtype発見w 初心者スレおもしれーwww
2020/05/14(木) 17:45:22.91ID:HxdbbI2M0
>>645
毎回newしたほうが効率がいいケースと
1つのListをClearして使い回したほうが効率がいいケースとそれぞれあるよね?
2020/05/14(木) 17:49:33.37ID:OtqKph2Y0
たまに勘違いしている人がいるみたいだが、このスレは「初心者用」のスレだから
質問者も回答者も「初心者」だよ
>>650
条件が詳しく書いてないんだから「場合によって使い分ける」
このスレでは「問題なく動けばいい」
2020/05/14(木) 17:56:08.67ID:PBygD1y70
まあ、newし直すのは意味はあるけど、
気になるのは同じ変数名を使い回してないかってことくらいやな
まあ、自分だけのコードなら好きにすればとしか
2020/05/14(木) 17:59:19.41ID:IJMYY1560
そういや初期のjavaの実装がそうだったなw 全部new。 糞おせーw
C#を実装したのがおまえらじゃなくてfastcall使いまくるヘジで助かったぜ。
2020/05/14(木) 19:05:04.03ID:oGs32I5W0
ID:IJMYY1560
今日の基地外
2020/05/14(木) 19:06:50.12ID:5fNjH7LKM
>>653
違うだろ?「勉強になりました。」と素直に謝ればOK
2020/05/14(木) 20:07:00.35ID:IJMYY1560
なんだもう自演煽りしかできないのか。情けない。

逐一newがいかに速いか知ったかして語ればいいのにw もっと初心者スレらしくアホを晒せw
2020/05/14(木) 20:31:18.28ID:5fNjH7LKM
>>656
違うだろ?「勉強になりました。」と素直に謝ればOK
2020/05/14(木) 23:37:20.23ID:oGs32I5W0
>>656
こーゆうレガシーな情報をアップデート出来ない老害コーダーがスコープとか意識出来ずにスパゲッティコード量産していくんだろうな。
2020/05/14(木) 23:59:13.36ID:IXDIM6PP0
List<string> 変数 = new List<string>();
for(;;){
 // 処理
 変数.Clear();
}

for(;;){
 List<string> 変数 = new List<string>();
 // 処理
}

これで言い争い?
2020/05/15(金) 00:33:19.38ID:mc9+JSH60
さうです。
2020/05/15(金) 06:10:46.00ID:QqRlTuRs0
言い争いなんか誰もしてません。ここは無知無双を観察するスレです。

clear()は遅いですw スパゲッティになるので逐一newしてますw java思想は正しいですw ヘジは老害コーダーですってwww
2020/05/15(金) 08:09:40.93ID:mZ/V4tLT0
上でも書かれてるけどClearってcount=0にしてるだけだろ?
2020/05/15(金) 08:38:30.68ID:4F5qAPuFa
怪しい時には実装にあたったほうがいいよ
https://referencesource.microsoft.com/#mscorlib/system/collections/generic/list.cs,ca7bce81a50b0aeb,references
count=0だけじゃなくて配列の個々の値も初期値に戻してる
まあそれでも_sizeがかなり大きくない限りは参照型のインスタンスを都度生成して生成してヒープに置くよりローコストだと思うけど
664デフォルトの名無しさん (ワッチョイ 4f63-4oRg)
垢版 |
2020/05/15(金) 09:26:05.88ID:EzimMGOi0
争いと表現するのもおこがましさを感じる低次元さ
2020/05/15(金) 10:16:11.77ID:QqRlTuRs0
若者の夢は壊しちゃダメですよ。プライドはとても高いんですから。

あっ、老害コーダヘジのおれが考える現代風コンパイラのデータ構造の再利用実装についての動画を置いときますねw
https://channel9.msdn.com/Blogs/Seth-Juarez/Anders-Hejlsberg-on-Modern-Compiler-Construction
2020/05/15(金) 10:43:10.78ID:0cESgAsr0
議論でとりあえず有名人の名前出したり話すれば、有利になると思ってる単細胞な発想はやめよう
2020/05/15(金) 11:04:04.35ID:SPdgeRtp0
そろそろ誰かが比較出してくれるんじゃね
それで決着だろ
2020/05/15(金) 11:13:54.66ID:/Y86RUc5M
>>659
俺なら上を採用する場合一回分無駄になるけどループの先頭(可能であれば使う直前)にClear()を呼ぶ
669デフォルトの名無しさん (ワッチョイ 459b-gIXh)
垢版 |
2020/05/15(金) 13:18:50.33ID:+lfXgI6Y0
名前、年齢、部署を表示するListViewで、マウスを当てるとポップアップ表示されるように
したく、以下のようにコーディングしました

ListViewItem lList = new ListViewItem(name);
List.ToolTipText = name //ツールチップの設定
ListViewItem.ListViewSubItem lvs = UrlList.SubItems.Add(age);
lvs.Tag = txtSearchWord.Text; //ツールチップの設定
ListViewItem.ListViewSubItem lvs = UrlList.SubItems.Add(section);
lvs.Tag = txtSearchWord.Text; //ツールチップの設定

一応これでポップアップするようになったのですが、位置がリストの表示位置と
離れすぎているのでもう少し「リストの文字に覆いかぶさるように」調節したいのですが
方法はありますでしょうか?
2020/05/15(金) 13:21:44.25ID:TG5diAlh0
たぶんC#書いてると上を採用するケースは少ないと思う
671デフォルトの名無しさん (アウアウエー Sa93-yXYh)
垢版 |
2020/05/15(金) 13:44:50.97ID:OlE2WbGda
>>669
https://dobon.net/vb/dotnet/control/lvitemtooltip.html
https://docs.microsoft.com/ja-jp/dotnet/api/system.windows.forms.listviewitem.tooltiptext
2020/05/15(金) 13:52:25.10ID:/bV5Wl+o0
でも下を採用すると
newとGCと場合によってはキャパ超えの処理が複数回
ループ毎に発生する
2020/05/15(金) 13:53:09.86ID:1rmq22iw0
.NETの範囲内だとToolTip自分で設定してマウスオーバーした時に自分でShowするぐらいしかないのかな
https://docs.microsoft.com/en-us/windows/win32/controls/ttn-show
Win32的にはTTN_SHOWでSetWindowPosしろって書いてある
ちなみにTTN_SHOWはListViewの派生クラスでWndProcオーバーライドすると捕まえられる
2020/05/15(金) 14:08:20.97ID:zOp0aFPX0
>>669
WPFだと表示位置を調整可能だけどWinFormだとデフォルトでは設定できないので
デフォルトのToolTipをオフにして自分でマウスイベント使ってToolTipを表示する
設定するToolTipのShow()メソッドで位置調整可能
2020/05/15(金) 15:37:07.91ID:Szckw36p0
オブジェクト複製の方法(ディープコピーやシャローコピー)を明示的に定義したインターフェイスはありますか
2020/05/15(金) 15:54:49.38ID:kU/eypzIM
ない
ICloneableがまさにコピー方法等の規定がなく役に立たないために非推奨となったが、特に代替となるインターフェイスはない
MSとしてはコンストラクタ引数にコピー元オブジェクトを渡すことによるコピーを推奨しており、
シャローコピーなのかディープコピーなのかはそのコンストラクタのドキュメントに書くのがよいと思われる
677デフォルトの名無しさん (アウアウウー Sa31-L7FI)
垢版 |
2020/05/15(金) 16:02:55.82ID:TSXqI5G8a
あったとして使い道を思いつかないw
2020/05/15(金) 16:04:17.52ID:Q6HDAvk8M
ICloneableの一般化は有名なアンチパターン
2020/05/15(金) 19:43:40.41ID:1rmq22iw0
そんな推奨あったっけ
コンストラクタはasyncにできないし直接デリゲートにできないしで扱いづらいんだよね…
2020/05/16(土) 02:07:37.57ID:iEtxjNqq0
CS1628 :匿名メソッド、ラムダ式、 またはクエリ式内では、refまたはoutパラメーター 'parameter'で使用できません.

ってエラーが出たらどうしたらいいですか?
2020/05/16(土) 02:55:26.32ID:XDh9Q16+0
>>680
どうしたらいいですか?
→具体的にエラーが発生した場所のコードを示して質問する。
2020/05/16(土) 02:55:57.76ID:hzvIc6mG0
そのメッセージの通りじゃね?
2020/05/16(土) 07:51:09.90ID:iEtxjNqq0
>>682
でも値を戻して欲しいんです
2020/05/16(土) 08:33:36.19ID:1poti3B0M
対処方法も書いてあるが?
https://docs.microsoft.com/ja-jp/dotnet/csharp/misc/cs1628
2020/05/16(土) 09:03:08.49ID:iEtxjNqq0
>>684
よくわかりませんでした
2020/05/16(土) 09:13:21.79ID:YgFCYzEo0
質問者が理解できない(理解しようとしない)だと回答する意味ねぇわな
2020/05/16(土) 09:36:21.61ID:GaPEU8I00
MSDNは日本語版で読むと意味不明だから、英語で読んだほうが良いよ。
2020/05/16(土) 09:47:43.94ID:hzvIc6mG0
>>683
だからコードをさらしてみ
2020/05/16(土) 09:48:00.90ID:hzvIc6mG0
>>687
docsね
2020/05/16(土) 10:36:14.33ID:brzmqlgbM
>>687
この程度ならたいして変わらなくね?
て言うか
> このエラーを回避するには、ローカル変数を使用するか、別のコンストラクトを使用します。
を理解 {でき|しようとし} ない奴が
> To avoid this error, use a local variable or some other construct.
を理解できるとは思えないけど…
2020/05/16(土) 10:50:18.03ID:5tLRWKNk0
こんな日本語を理解しようとするのは時間の無駄

Ref または out パラメーター 'parameter' 匿名メソッド、ラムダ式、またはクエリ式の内部を使用することはできません。使用する場合、このエラーが発生した、 in、 ref、またはout匿名メソッド ブロックの内部でパラメーター。
2020/05/16(土) 11:26:30.30ID:GaPEU8I00
>>689
docsか、すまん。

>>690
よく読めば一瞬で謎に陥る。
>>691
の部分が一番やばい。

俺Xamarin最近いろいろやってるからドキュメントに当たるんだけど、もう少しなんとかならんかなあれ。
MVPあたりに音頭取らせて翻訳をみんなに手伝ってもらえばいいのに。コントリビューション記載してくれるなら権利放棄して喜んでやってくれるだろうに。
2020/05/16(土) 11:31:27.82ID:GaPEU8I00
安易にgithubのイシュー切れて、好き勝手文句を書いたように見えたから前回は問題になったんだし、githubでやるより、翻訳するにあたって当たり前のツールで対訳は作るべきだと思うんだがなぁ。
何もTradosを買えって言うわけじゃないけど、何か機械翻訳ではなくてメモリ翻訳+人間でやってほしい感じがするわ。
2020/05/16(土) 11:58:34.03ID:l25Hva970
>>683
returnで返せばええやん
2020/05/16(土) 12:16:10.04ID:Xg9MPSsRM
>>691
これ元の英文もおかしいと思う

Cannot use in ref or out parameter 'parameter' inside an anonymous method, lambda expression, or query expression

の 'in' がキーワードと認識できないからわかりにくい訳になってる
in, ref, outを列挙するならカンマでつないで

Cannot use in, ref, or out parameter 'parameter' inside an anonymous method, lambda expression, or query expression

とするのが普通だと思う
これならGoogle翻訳でも

匿名メソッド、ラムダ式、またはクエリ式内では、in、ref、またはoutパラメーター 'parameter'を使用できません

とそれなりの訳文になる
2020/05/16(土) 14:19:19.88ID:5tLRWKNk0
Cannot use ref or out parameter … だったところに
新機能でinが追加されて修正したやつがミスったんだろ

実際のエラーメッセージはカンマ入りでちゃんと修正されてる
CS1628: Cannot use ref, out, or in parameter 'x' inside an anonymous method…
2020/05/16(土) 14:33:46.53ID:GaPEU8I00
>>695
つまりはここでしくったって事か。
https://github.com/dotnet/docs/commit/b6260bc6ec50f5aac074be770802dc63d4f9faf2#diff-c8c760ed90c0eac9154358b3438bfdde
2020/05/16(土) 15:24:12.42ID:hzvIc6mG0
>>697
そうだね、parameterが重複しちゃってるのはその前からだし、そもそもキーワードはバッククォートで囲っとくべきだけどね
2020/05/16(土) 17:58:30.18ID:gofaxmB+0
練習がてらWindowsフォームでカレンダーを作っています
アプリが選択されていない時でも、例えば特定のラベルに
マウスポインタをかざすだけでイベントを発生させることはできますか?
2020/05/16(土) 18:06:26.61ID:WlfS3Ahk0
>>699
MouseEnterイベント
2020/05/16(土) 18:26:07.47ID:gofaxmB+0
>>700
ありがとうございます
MouseEnterイベントの内容を間違えて捉えていました
2020/05/16(土) 19:09:59.71ID:Z06SXSKt0
イベントは常に発生しているだろ
それをフックするかしないかだけで。
703デフォルトの名無しさん (アウアウウー Sa31-L7FI)
垢版 |
2020/05/16(土) 20:00:39.55ID:9bKV5hlVa
ワイルドだろぉ〜?
まで読んだ
2020/05/17(日) 09:17:29.91ID:cGtEzJ7q0
WinFormsでWndProcとかフックしてて思ったんだけど
C++でデスクトップGUI作る場合ってGetMessageループするスレッド立ててWMをswitchさせてって感じでチマチマやってんの?
2020/05/17(日) 09:26:02.95ID:qz8+t6v/0
C++もMFCで組む場合はなんかよくわからんイベントで処理されてること考えないとあかんで
c#に移植するときは対応するイベントやメソッドがどれか当てはめるだけで移植できるかもしれんほど似てる

ぶっちゃけこの周りはwin32api時代のが一番見通し良かった
2020/05/17(日) 09:41:58.23ID:vdKycdNh0
隔靴掻痒
707デフォルトの名無しさん (アウアウエー Sa93-yXYh)
垢版 |
2020/05/17(日) 10:20:04.65ID:c3b5r+2ta
Win32API が見透し良いのは同意
MFC は糞(ただのラッパーをクラスライブラリと称するとかアホかと)
2020/05/17(日) 10:38:34.08ID:WidHY7hL0
>>702
はい

独学だと基本がだめですね
読まないといけない本がたくさんあります

カレンダーは一旦完成したんですけど、また組み直してます
Form1にメソッドが集中するのもどうかと思い、カプセル化の勉強がてらクラスに分けたりしています

あと、デザイナでエラーが起きるのが怖いです
カレンダーの日付が表示される42個の部品をユーザーコントロールで作っているのですが
これのプロパティをいじるとデザイナでよくエラーが起きます
ソリューションのクリーンなどをしてると直るんですけど、それでよかったのかよくわかりません
ちなみにここで言ってるプロパティとは、セッターゲッターのある自分で入力するプロパティです
このプロパティと、プロパティウィンドウでのプロパティはどういう関係にあるのかもよくわからないんですけど。Designer.csをみるとただのフィールドのように見えるので。
709デフォルトの名無しさん (ワッチョイ eb7c-ahgx)
垢版 |
2020/05/17(日) 10:42:17.99ID:A0b/Dj9R0
馬鹿はいつもあさっての方向に努力するよな
2020/05/17(日) 10:47:23.24ID:U+QztSWEa
インターフェース多すぎて使い方よく分からんのだけど、いい解説サイトない?
2020/05/17(日) 10:54:28.10ID:xmDbof2g0
>>710
https://docs.microsoft.com/ja-jp/dotnet/
2020/05/17(日) 10:57:26.34ID:a6GN2IRE0
>>708
そのコードを晒してみれば、優しいお兄さん方が色々指導してくれるかも知れないよ。
独学ヤバいと思うならやってみてもいいかと。
2020/05/17(日) 12:52:02.62ID:WidHY7hL0
>>712
大学卒業したての美人の女医さんに
はい、パンツ脱いでおちんちん見せなさいって言われてるようで
はずかしすぎてとても無理っす



落ち着いていろんなことを実験したり調べてみると理解できるようになるんで頑張ってみます
714デフォルトの名無しさん (ワッチョイ 17f1-8kLo)
垢版 |
2020/05/17(日) 13:26:59.78ID:oJIHh9Jk0
>>713
逆に大学卒業したての美人の女医さんに
はい、パンツ脱いでおちんちん見せなさいって言われる体験をしたいのですが
どうすればいいですか?そんな例えを思いつくくらいだから方法はあるのでしょうね
2020/05/17(日) 14:26:14.44ID:WidHY7hL0
>>714
5歳ぐらいに戻れば簡単
変装でも8割方いけますわ
716デフォルトの名無しさん (ワッチョイ 17f1-8kLo)
垢版 |
2020/05/17(日) 14:39:23.29ID:oJIHh9Jk0
>>715
717デフォルトの名無しさん (JP 0H13-2td9)
垢版 |
2020/05/17(日) 15:21:16.64ID:BOpWVUpQH
IT掲示板群 ttp://x0000.net/forum.aspx?id=15

学術の巨大掲示板群 - アルファ・ラボ ttp://x0000.net
数学 物理学 化学 生物学 天文学 地理地学
IT 電子 工学 言語学 国語 方言 など

simulationライブラリで純粋な関数式プログラミングをする
ttp://x0000.net/topic.aspx?id=3631-0
UIライブラリ (C#, 2D) を作ったよ
ttp://x0000.net/topic.aspx?id=3688-0
連続と離散を統一した!
ttp://x0000.net/topic.aspx?id=3709-0
4Dエンジン
ttp://x0000.net/topic.aspx?id=3677-0
matrixのライブラリ
ttp://x0000.net/topic.aspx?id=3711-0
ある強力なFor関数
ttp://x0000.net/topic.aspx?id=3630-0
SQLライブラリ
ttp://x0000.net/topic.aspx?id=3675-0
2020/05/17(日) 15:59:31.45ID:bUEaT9ex0
>>708
使い方とか設定でなにかあるのかもしれないけど、挙動からみるとデザイナはリアル
タイムにクラスのコードを解釈しているのではなく、キャッシュされたコードを使って
描画を行っているっぽい

DataGridViewクラスはhogeColumnクラスとhogeCellクラスを作るとユーザ定義の
セルを作れて、デザイナで作ったセル用のクラスをコントロールできるようになる
けど、作成直後はコードを保存してもリビルドしてもデザイナには反映されない
一旦コードをデバッグ実行すると、次からはデザイナでコントロール可能になるけど
プロパティを増やすとデザイナーに反映されないし、削除するとプロパティがないって
デザイナのコンパイラ(?)がエラーを吐いたりする

一応デザイナ画面を表示させない状態でバイナリのビルドに成功した状態で実行
してフォームが表示されれば、次からはデザイナで操作できるので気にしないで
使ってるけど

.NetFrameworkのソース見ると何か色々、実際のコードとは関係なさそうな指示
コードがたくさん書いてあるので、デザイナで使用するにはこの辺も記述する
必要があるのかもしれないけどよくわからない

デザイナで表示されるプロパティウィンドウに表示されるのは、単純にクラスで定義
されているプロパティなので別に違いはないはずだけどなぁ
2020/05/17(日) 17:21:28.05ID:WidHY7hL0
>>718
とても参考になりました
ありがとうございます

デザイナのエラーで元に戻らなくなると怖いので
ソリューションフォルダごとバックアップのためコピーしてるんです。
でも、エラーが起きるはずのないフォルダから起動しても
エラーが一時的に起きたことがあったんで疑問に思ってました。
キャッシュが残ってたからなんですね

>一応デザイナ画面を表示させない状態でバイナリのビルドに成功した状態で実行
>してフォームが表示されれば、次からはデザイナで操作できるので気にしないで
>使ってるけど

これ意識してなかったんですけど、そう言われればその手順でやるとエラー消えてました

プロパティについては理解が浅くて、いろいろ間違えていました。
山田先生の独習を読み直して教科書通りに書き直してみたらエラーが起きないようになりました
setterにいろいろ書きすぎてました。一応動いちゃうので大して気にせずに。

あと、自分で書いたプロパティとの違いですけど、これも勘違いしてました。
例えばForm1はFormクラスを継承してるので、プロパティはFormクラスや
さらにその先のクラスで定義されてるということですね
Designer.csやForm1.csでそれらしきのが書かれていなかったので早合点してました
2020/05/17(日) 18:05:02.43ID:kGA4FYso0
本題とは関係ないけど
> デザイナのエラーで元に戻らなくなると怖いので
> ソリューションフォルダごとバックアップのためコピーしてるんです。
Git導入してみてはどうだろう 一人開発でも十分役に立つぞ
今どきはVSにも組み込まれてるんだし
2020/05/17(日) 18:12:17.37ID:T4/b/bLZa
初心者の勉強にGitなんか要らんよ
俺も初心者の頃は意識高い情報に踊らされてバージョン管理しながら勉強してたが、前のバージョンに戻すなんて一度たりともやった覚えがない
もっと言えば、初心者時代に書いたコードなんてはっきり言って何の価値もないゴミだ
後から見返したことは一度もない
722デフォルトの名無しさん (ワッチョイ d390-6tiU)
垢版 |
2020/05/17(日) 18:27:33.37ID:NeE1Esak0
後々取っておくとこんなのもあったなあ…って懐古しながら成長したことを実感できるよ
2020/05/17(日) 18:29:18.21ID:EbKAPsbe0
いろいろ試行錯誤する初心者の方が役に立つと思うけどなぁ。
ガチャガチャ試しているうちに今まで動いていたところがなぜかうまく動かなくなったとか。
724デフォルトの名無しさん (アウアウウー Sa31-L7FI)
垢版 |
2020/05/17(日) 18:42:33.53ID:sPeeGmAVa
ZIPで固めて丸ごと保存最高だよねw
一瞬で出来るし何の準備もいらん
2020/05/17(日) 19:15:02.60ID:WeV7wvNO0
Gitは保存の仕方だけ覚えたから上書きだけしてる
初心者だからバージョン管理とか不要
2020/05/17(日) 19:33:53.04ID:VAj0yrtz0
初心者だろうとなんだろうとバージョン管理は基本
2020/05/17(日) 19:56:39.41ID:zE6yFOdt0
バージョン管理システムの概念を理解するまで結構慣れが必要だから
初心者の内から触るのも悪くない
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況