!extend:checked:vvvvv:1000:512
次スレを立てる時は↑を2行冒頭に書くこと(1行分は消えて表示されない為)
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスや酔っぱらいレスはやめてください
>>980を踏んだ人は新スレを建てて下さい。>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■前スレ
ふらっと C#,C♯,C#(初心者用) Part148
https://mevius.5ch.net/test/read.cgi/tech/1590578921/
■関連スレ
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
探検
ふらっと C#,C♯,C#(初心者用) Part149
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワキゲー MMca-Gz4g)
2020/12/16(水) 11:29:35.35ID:TSvQ057dM342デフォルトの名無しさん (ワッチョイ a7a7-Bv92)
2021/01/24(日) 18:59:46.81ID:H0Ke+o4H0 >>341
開始日と終了日エラーでたままじゃグラフの表示範囲も決まらんかもしれんのによくやるわ
ビジネスロジック入れないでグラフの表示範囲計算できると思ってるのかよ
夢見んな
んでエラー値許容のまま放置できちゃったらエラー箇所ユーザにわかるのかよ的な
visualstudioだって一発ビルドしないとエラー箇所わからん
ボクはうまくいってないと思います
開始日と終了日エラーでたままじゃグラフの表示範囲も決まらんかもしれんのによくやるわ
ビジネスロジック入れないでグラフの表示範囲計算できると思ってるのかよ
夢見んな
んでエラー値許容のまま放置できちゃったらエラー箇所ユーザにわかるのかよ的な
visualstudioだって一発ビルドしないとエラー箇所わからん
ボクはうまくいってないと思います
343デフォルトの名無しさん (アウアウエー Sa1f-rvE3)
2021/01/24(日) 19:01:12.31ID:zEWhRUHAa やっぱり何の話をしてるのかよく分からんけど
UI上の値がモデルに今反映されているのかどうかはっきりしないUIはイラッとくるね。
UI上の値がモデルに反映されていない状態を許すなら>>335が言ってるように
ダイアログ出してくれる方がフレンドリーだと思う。
許さないならUI上の値も常に不整合を許すべきではないと思う。
数直線上の閉区間(a≦x≦b)を入力するUIがあったとして、
ユーザーによるaの入力が確定した時a>bになっちゃってたらb = aに変わるべき。
UI上の値がモデルに今反映されているのかどうかはっきりしないUIはイラッとくるね。
UI上の値がモデルに反映されていない状態を許すなら>>335が言ってるように
ダイアログ出してくれる方がフレンドリーだと思う。
許さないならUI上の値も常に不整合を許すべきではないと思う。
数直線上の閉区間(a≦x≦b)を入力するUIがあったとして、
ユーザーによるaの入力が確定した時a>bになっちゃってたらb = aに変わるべき。
344デフォルトの名無しさん (ワッチョイ 874f-b71I)
2021/01/24(日) 19:05:57.47ID:1wsdfsyQ0 WinFormsのコントロールは内部状態を抱え込んでたんでテストが面倒くさかったのを
VMで外出しにした、というくらいに理解しておけばいいと思う。
バインデングいらないの人はFormsじゃあどうしてたんだろうか。
VMで外出しにした、というくらいに理解しておけばいいと思う。
バインデングいらないの人はFormsじゃあどうしてたんだろうか。
345デフォルトの名無しさん (テテンテンテン MM8f-3C30)
2021/01/24(日) 19:09:39.64ID:g03tv9KOM ??
グラフ表示に必要な項目が入力エラーなら「日付が間違ってるのでグラフが表示できません」ってテキストで表示するだけだと思うんだけど
ていうか>>342のいう「グラフ作成」がbmpみたいな画像生成を指すのであれば
その処理はたぶんModelで持つのが正しい気がするし、
View/Modelが密接不可分に結合するような処理であれば
わざわざViewとModelの分離を意図してる(で合ってるよね?)MVVMにしないほうがいいのは当たり前の話だと思う
グラフ表示に必要な項目が入力エラーなら「日付が間違ってるのでグラフが表示できません」ってテキストで表示するだけだと思うんだけど
ていうか>>342のいう「グラフ作成」がbmpみたいな画像生成を指すのであれば
その処理はたぶんModelで持つのが正しい気がするし、
View/Modelが密接不可分に結合するような処理であれば
わざわざViewとModelの分離を意図してる(で合ってるよね?)MVVMにしないほうがいいのは当たり前の話だと思う
346デフォルトの名無しさん (ワッチョイ 87ad-QXKr)
2021/01/24(日) 19:57:04.13ID:3jwmj/rb0 >>341
値にしなくてもプロパティとして表現すると読み書きの方向がはっきりするし良いよ。特にEnabledとかは。
>>342
表示範囲が決まってないのに、グラフが表示できるわけないんだから、「現在描画できません」って表示するのは正でしょ。
ビジネスロジックに通したとしても、それをModelとして保存するかどうかは別問題。
エラー値許容って考え方がおかしい。
エラー箇所がわかるようにバインドするのであって、
各変数がバインドできてるかはモックViewModelを使ったUIテスト、
各種バリデーションがきちんと発生するからモックUIを使ったViewModelテストで、疎に担保するべきもの。
コンパイルエラーとかそういう次元ではなくてUnitTestぐらい通すだろ、普通。
責任範囲がまぜこぜじゃん。
>>343
業務アプリで、画面表示中の項目と、入力項目が不一致になるのは禁忌に近いんじゃないかな。
スクリーンショットからトラブルシュートするのがほぼ不能になる。
>>345
そのグラフ作成、Modelではなくて、切り出しておくべきでは?
結局のところ、一定範囲のデータを与えられて、グラフを描画するって関数なりコントロールになって然るべきだと思うよ。
内部的にbmpを生成しようが、画面に描画する以上。
そうしといたら、グラフコントロールを差し替えたい時に気楽に差し替えられる。
値にしなくてもプロパティとして表現すると読み書きの方向がはっきりするし良いよ。特にEnabledとかは。
>>342
表示範囲が決まってないのに、グラフが表示できるわけないんだから、「現在描画できません」って表示するのは正でしょ。
ビジネスロジックに通したとしても、それをModelとして保存するかどうかは別問題。
エラー値許容って考え方がおかしい。
エラー箇所がわかるようにバインドするのであって、
各変数がバインドできてるかはモックViewModelを使ったUIテスト、
各種バリデーションがきちんと発生するからモックUIを使ったViewModelテストで、疎に担保するべきもの。
コンパイルエラーとかそういう次元ではなくてUnitTestぐらい通すだろ、普通。
責任範囲がまぜこぜじゃん。
>>343
業務アプリで、画面表示中の項目と、入力項目が不一致になるのは禁忌に近いんじゃないかな。
スクリーンショットからトラブルシュートするのがほぼ不能になる。
>>345
そのグラフ作成、Modelではなくて、切り出しておくべきでは?
結局のところ、一定範囲のデータを与えられて、グラフを描画するって関数なりコントロールになって然るべきだと思うよ。
内部的にbmpを生成しようが、画面に描画する以上。
そうしといたら、グラフコントロールを差し替えたい時に気楽に差し替えられる。
347デフォルトの名無しさん (ドコグロ MM8b-Wxou)
2021/01/24(日) 20:50:20.30ID:ELcioWmtM348デフォルトの名無しさん (テテンテンテン MM8f-3C30)
2021/01/24(日) 20:57:17.36ID:nmX/+8uTM >>346にある「プロパティ」って他言語でいうComputed Property(ごめんC#で何て言うか分からない)のことでいいのかな
であれば(and>>344の理解で良いなら)MVVM完全に理解した
ただしく適用すればソースコードの見通しがめちゃくちゃよくなるだろうと思いました
といっても普段の開発がWinFormsかASPNETCoreばっかりなんで活かせる機会なんて来ないんだけどさ
グラフ作成はViewやViewModelに押し込むくらいならModelに置いてくれと思ったけど
別に切り出せるならそのほうがもっと良いのはごもっともです
層分けって大事だよねー・・・と普段メンテしてるようなソースを思い起こしながらため息をついてみたり
であれば(and>>344の理解で良いなら)MVVM完全に理解した
ただしく適用すればソースコードの見通しがめちゃくちゃよくなるだろうと思いました
といっても普段の開発がWinFormsかASPNETCoreばっかりなんで活かせる機会なんて来ないんだけどさ
グラフ作成はViewやViewModelに押し込むくらいならModelに置いてくれと思ったけど
別に切り出せるならそのほうがもっと良いのはごもっともです
層分けって大事だよねー・・・と普段メンテしてるようなソースを思い起こしながらため息をついてみたり
349デフォルトの名無しさん (ワッチョイ 5fad-mCaM)
2021/01/24(日) 21:15:16.63ID:Ok705ENM0 >>348
C#でプロパティって言えば迷うはずないだろ
C#でプロパティって言えば迷うはずないだろ
350デフォルトの名無しさん (テテンテンテン MM8f-3C30)
2021/01/24(日) 21:27:56.19ID:nmX/+8uTM プロパティと聞いて「自動プロパティ」のほうがまっさきに思い浮かんじゃって
「自動プロパティじゃないほうのプロパティ」の呼び方が分からなかったんだけど・・・
何て呼ぶのが一般的なのかな
「自動プロパティじゃないほうのプロパティ」の呼び方が分からなかったんだけど・・・
何て呼ぶのが一般的なのかな
351デフォルトの名無しさん (ワッチョイ a733-Vkx9)
2021/01/24(日) 22:00:13.52ID:W8Ofgakl0 >>341
あってます。
ViewModelは具体的なUIを持たないViewだと思えば良いです。
なのでVisible等のViewに関するロジックはここが持ちます。
ViewはViewModelをそのまま具体的なUIで表現するだけです。
あってます。
ViewModelは具体的なUIを持たないViewだと思えば良いです。
なのでVisible等のViewに関するロジックはここが持ちます。
ViewはViewModelをそのまま具体的なUIで表現するだけです。
352デフォルトの名無しさん (ワッチョイ 87ad-QXKr)
2021/01/24(日) 22:02:48.96ID:3jwmj/rb0 プロパティ、そりゃどれもプロパティだな、言葉足らず申し訳ない。
Computed Propertyググった。
そう、これの事。値を持たず他のプロパティの内容から算出されるプロパティ。
Computed Propertyググった。
そう、これの事。値を持たず他のプロパティの内容から算出されるプロパティ。
353デフォルトの名無しさん (ワントンキン MM3f-FIml)
2021/01/25(月) 08:56:15.41ID:Qq8daOwnM354デフォルトの名無しさん (スププ Sd7f-QXKr)
2021/01/25(月) 12:28:32.14ID:8A1Q9MV4d ちゃんとスレあるんだな。
すまなんだ。
すまなんだ。
355デフォルトの名無しさん (オッペケ Sr7b-ereA)
2021/01/25(月) 12:49:25.57ID:5TPK3+z7r いえいえ
356デフォルトの名無しさん (ワッチョイ c701-Vkx9)
2021/01/25(月) 20:38:53.42ID:FWpwiUbb0 プログラマできちんと反省できる人はレア。
357デフォルトの名無しさん (ブーイモ MMcf-BQY2)
2021/01/26(火) 08:08:46.68ID:z9KCwqI+M プログラマが反省してたら精神がもちません
358デフォルトの名無しさん (テテンテンテン MM8f-jQT1)
2021/01/28(木) 12:09:38.85ID:ud5nmCvYM Enumerable.OrderBy メソッドを呼び出す際に、
引数に送るデリゲート(Func<TSource,TKey>)を動的に指定したい。
具体的には、
List<Person> people = new List<Person>(basePeople.orderby(person => person.名前))
といった並べ替え処理を、Personクラスの各プロパティについて行いたい。
(年齢、整理番号、生年月日など)
現在はそれぞれのプロパティ(20以上)について上記メソッドを作成して
やりたいことは実現していますが、全くスマートじゃないです。
propertyinfoクラスを使って何かできないかと思ったんですが、
デリゲートの中に組み込むような使い方が全く思いつきませんでした。
どなたか分かる方教えて下さい。
引数に送るデリゲート(Func<TSource,TKey>)を動的に指定したい。
具体的には、
List<Person> people = new List<Person>(basePeople.orderby(person => person.名前))
といった並べ替え処理を、Personクラスの各プロパティについて行いたい。
(年齢、整理番号、生年月日など)
現在はそれぞれのプロパティ(20以上)について上記メソッドを作成して
やりたいことは実現していますが、全くスマートじゃないです。
propertyinfoクラスを使って何かできないかと思ったんですが、
デリゲートの中に組み込むような使い方が全く思いつきませんでした。
どなたか分かる方教えて下さい。
359デフォルトの名無しさん (ブーイモ MMcf-j2E3)
2021/01/28(木) 12:59:34.80ID:ow1EdAwiM Syatem.Linq.Dynamic
360デフォルトの名無しさん (アウアウエー Sa1f-rvE3)
2021/01/28(木) 13:42:24.38ID:lJ0XEYQza362デフォルトの名無しさん (アウアウエー Sa1f-j2E3)
2021/01/28(木) 14:49:10.30ID:5GS4w4/Ua System.Linq.Dynamic
363デフォルトの名無しさん (オッペケ Sr7b-bv8J)
2021/01/28(木) 15:13:49.91ID:VSUe7hwUr 同一PC上でのアプリ同士の連動のさせかたを教えてください
フォームアプリケーションA.Bを作り、
Aが単独でも動くメインアプリ、Bは拡張機能付きリモコン、という風にしたいんですが、
Aのサブフォームではなく、別のexeファイルからBを起動したいです
そのうえで、同時起動中にBを操作することでAのtextboxを変更したり、Aを動かすためのメソッドをBのソースに書いてボタンイベントで呼び出し、等できると最高なんですが、
これはそもそも可能なことなのか、検索ワードすらわからず詰まってます
可能であればできるだけシンプルな方法を教えてください、
現在、C#、windowsformでAの途中まで制作中です
フォームアプリケーションA.Bを作り、
Aが単独でも動くメインアプリ、Bは拡張機能付きリモコン、という風にしたいんですが、
Aのサブフォームではなく、別のexeファイルからBを起動したいです
そのうえで、同時起動中にBを操作することでAのtextboxを変更したり、Aを動かすためのメソッドをBのソースに書いてボタンイベントで呼び出し、等できると最高なんですが、
これはそもそも可能なことなのか、検索ワードすらわからず詰まってます
可能であればできるだけシンプルな方法を教えてください、
現在、C#、windowsformでAの途中まで制作中です
364デフォルトの名無しさん (ワッチョイ 7fda-3kb+)
2021/01/28(木) 15:14:46.55ID:r2+Y9V1O0 つ UIAutomation
365デフォルトの名無しさん (ワッチョイ 5f42-xA1r)
2021/01/28(木) 15:26:15.90ID:7g2F6RGP0366363 (オッペケ Sr7b-bv8J)
2021/01/28(木) 16:28:24.36ID:VSUe7hwUr ありがとう、検索して試してみます!
367デフォルトの名無しさん (アウアウエー Sa1f-rvE3)
2021/01/28(木) 16:33:51.84ID:lJ0XEYQza >>361
こんなのとか。
ただの思い付きなので動作するか確認してないし欲しいものと違ったらごめんね。
class DynamicComparer<T>:IComparer<T>
{
public string PropertyToCompare { get; set; }
public DynamicComparer(string propertyToCompare)
{
this.PropertyToCompare = propertyToCompare;
}
int IComparer<T>.Compare(T x, T y)
{
var t = typeof(T);
var p = t.GetProperty(PropertyToCompare, BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);
var xp = p.GetValue(x);
var yp = p.GetValue(y);
return System.Collections.Comparer.Default.Compare(xp, yp);
}
}
こんなのとか。
ただの思い付きなので動作するか確認してないし欲しいものと違ったらごめんね。
class DynamicComparer<T>:IComparer<T>
{
public string PropertyToCompare { get; set; }
public DynamicComparer(string propertyToCompare)
{
this.PropertyToCompare = propertyToCompare;
}
int IComparer<T>.Compare(T x, T y)
{
var t = typeof(T);
var p = t.GetProperty(PropertyToCompare, BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);
var xp = p.GetValue(x);
var yp = p.GetValue(y);
return System.Collections.Comparer.Default.Compare(xp, yp);
}
}
368デフォルトの名無しさん (ワッチョイ 2778-Jq7D)
2021/01/28(木) 21:47:36.42ID:SNcV832D0 何回も上がっているけどSystem.Linq.Dynamicを使いなよ
369デフォルトの名無しさん (ワッチョイ fa2d-M8vF)
2021/01/29(金) 00:11:56.19ID:SOOUWe4N0 System.Linq.Dynamic使うとどんな風に書けるの
370デフォルトの名無しさん (アウアウエー Sa52-fG0K)
2021/01/29(金) 00:14:38.17ID:hhAzUQXda var list = customers
.Where("Name.Contains(@0)","ZZZ Projects")
.ToList();
.Where("Name.Contains(@0)","ZZZ Projects")
.ToList();
371デフォルトの名無しさん (ワッチョイ a635-7iTp)
2021/01/29(金) 13:25:03.45ID:Hs1mJoLC0 >>363
SendMessage PostMessageは
SendMessage PostMessageは
372デフォルトの名無しさん (アウウィフ FF21-qCTK)
2021/01/29(金) 16:32:59.15ID:5pIDnM+SF pipe
socket
socket
373デフォルトの名無しさん (ワッチョイ 6a2f-bDzS)
2021/01/29(金) 19:24:38.38ID:IAlTEreC0 COM公開して操作とかできんか?
374デフォルトの名無しさん (ワッチョイ 9e8c-JUiw)
2021/01/30(土) 10:31:51.17ID:U3K72huj0 gRPC使ってプロセス間通信でよくね?
375デフォルトの名無しさん (ワッチョイ 79a7-YX0t)
2021/01/30(土) 10:32:40.83ID:pteiWSPF0 もう何もかもなくなってしまったのか
376デフォルトの名無しさん (ワッチョイ 66bb-RNyz)
2021/01/31(日) 09:44:26.84ID:RldRqHno0 入門書には、クラスの設定系のメンバーは、公開する必要が無ければprivateにせよ、
みたいなことがよく書かれています。
ですが、例えば自作クラス ClassA, ClassBがあるとして、
ClassA
{
public int IntVal { get; private set; }
public ClassB BVal { get; private set; }
}
IntValはいいとして、BValに関しては、getプロパティでBValへの参照を取得できてしまいます。
その参照を通してBValにある設定メソッドを呼べば、BValの内容を外部から変更し放題です。
これを防ぐ方法として
1. ClassBを不変にする(ClassB内には、コンストラクタ以外に設定方法を用意しない)
2. ClassBのクローンを返す
3. ClassB内の取得系メソッドのみを集めたインターフェースを返す
4. ClassBを値型(構造体)にする
一応、以上のようなことを思いつくのですが、ここで質問です。
この問題(メンバがクラス型の場合に、セッターを単にprivateにしてもカプセル化できない)について、
皆さんはどう対処してますか?
単に「カプセル化したければこんなテクニックもあるよ」というのを紹介してほしいのではありません。
皆さんが(使い捨てでない)プログラムを書く際に、実際に、どういう考え方で、どう対処しているのか、
あるいは特に対処していないのか、を知りたいです。
よろしくお願いします。
みたいなことがよく書かれています。
ですが、例えば自作クラス ClassA, ClassBがあるとして、
ClassA
{
public int IntVal { get; private set; }
public ClassB BVal { get; private set; }
}
IntValはいいとして、BValに関しては、getプロパティでBValへの参照を取得できてしまいます。
その参照を通してBValにある設定メソッドを呼べば、BValの内容を外部から変更し放題です。
これを防ぐ方法として
1. ClassBを不変にする(ClassB内には、コンストラクタ以外に設定方法を用意しない)
2. ClassBのクローンを返す
3. ClassB内の取得系メソッドのみを集めたインターフェースを返す
4. ClassBを値型(構造体)にする
一応、以上のようなことを思いつくのですが、ここで質問です。
この問題(メンバがクラス型の場合に、セッターを単にprivateにしてもカプセル化できない)について、
皆さんはどう対処してますか?
単に「カプセル化したければこんなテクニックもあるよ」というのを紹介してほしいのではありません。
皆さんが(使い捨てでない)プログラムを書く際に、実際に、どういう考え方で、どう対処しているのか、
あるいは特に対処していないのか、を知りたいです。
よろしくお願いします。
377デフォルトの名無しさん (ワッチョイ 66bb-RNyz)
2021/01/31(日) 09:50:34.81ID:RldRqHno0 ちなみに、お前自身はどう対処するんだ?と聞かれるかもしれませんが、
C#の経験が乏しいこともあって、どうすればいいのか正直よくわからないです。
(だからみんなのやり方を参考にしたい)
C++なら、公開したい相手だけをfriendにするとか、constなポインタを返すとかするのですが。
C#の経験が乏しいこともあって、どうすればいいのか正直よくわからないです。
(だからみんなのやり方を参考にしたい)
C++なら、公開したい相手だけをfriendにするとか、constなポインタを返すとかするのですが。
378デフォルトの名無しさん (ベーイモ MM2e-1MsU)
2021/01/31(日) 09:55:53.85ID:wMusnPrAM ClassBについても設定系のメンバがprivateになってれば何も問題ない
むしろprivateでないsetterがClassBにあるなら必要があって公開してるはず
むしろprivateでないsetterがClassBにあるなら必要があって公開してるはず
379デフォルトの名無しさん (ワッチョイ 79a7-YX0t)
2021/01/31(日) 10:14:39.41ID:8OVECKvh0 そもそもpublicじゃん
380デフォルトの名無しさん (ワッチョイ 66bb-RNyz)
2021/01/31(日) 10:29:08.15ID:RldRqHno0 例えばint型は自由に値を設定できます(その必要があります)が、
ClassAにとっては、int型の内部データであるIntValを、ClassAの外から
変更されたくない(値の参照はしたい)ため、setのみをprivateにしています。
同様のことをClassBでもやりたいと考えているのですが・・・。
そもそもそういう考え方自体がおかしいのかな?
ClassAにとっては、int型の内部データであるIntValを、ClassAの外から
変更されたくない(値の参照はしたい)ため、setのみをprivateにしています。
同様のことをClassBでもやりたいと考えているのですが・・・。
そもそもそういう考え方自体がおかしいのかな?
381デフォルトの名無しさん (アウアウエー Sa52-fG0K)
2021/01/31(日) 10:43:24.54ID:Xb450EhAa とりあえずイミュータブルにしとけばいいよ
どうしてもイミュータブルではいけない理由が出来たときにどうするか悩めばいい
どうしてもイミュータブルではいけない理由が出来たときにどうするか悩めばいい
382デフォルトの名無しさん (ワッチョイ 79a7-YX0t)
2021/01/31(日) 10:57:10.85ID:8OVECKvh0 >>380
まず前提だけど
publicやprivateで改修時の設計を制限しようと思ってるの?
正直、こんなもんお飾りだし
いざ自分がやりたい機能の邪魔になったら問答無用でpublicにする
俺だったら
まあちょっとしたメモアピールぐらいに思っておけばいいんじゃない?
会社として公開するライブラリやdllのクラスだったらそもそもクラスを丸ごと渡すような仕組みにしちゃ駄目だろ
やるにしてもアクセス用のクラス挟んでって長ったらしい設計になることは致し方ない
まず前提だけど
publicやprivateで改修時の設計を制限しようと思ってるの?
正直、こんなもんお飾りだし
いざ自分がやりたい機能の邪魔になったら問答無用でpublicにする
俺だったら
まあちょっとしたメモアピールぐらいに思っておけばいいんじゃない?
会社として公開するライブラリやdllのクラスだったらそもそもクラスを丸ごと渡すような仕組みにしちゃ駄目だろ
やるにしてもアクセス用のクラス挟んでって長ったらしい設計になることは致し方ない
383デフォルトの名無しさん (ワッチョイ 66bb-RNyz)
2021/01/31(日) 10:59:20.78ID:RldRqHno0 イミュータブルというのは、>>376の方法1のことですよね?
たしかに、.Netに標準で用意されているクラスの多くは、インスタンスを一度作成したら、
内容を変更できないようになっている気がします
内容の一部を変更したいとき(例えばFontのサイズだけを変更したいとか)は面倒ですが・・・
たしかに、.Netに標準で用意されているクラスの多くは、インスタンスを一度作成したら、
内容を変更できないようになっている気がします
内容の一部を変更したいとき(例えばFontのサイズだけを変更したいとか)は面倒ですが・・・
384デフォルトの名無しさん (ワッチョイ 66bb-RNyz)
2021/01/31(日) 11:07:26.15ID:RldRqHno0 >>382
たしかに、あくまでメモ程度に考えて、気にしなければいいのかもしれません
以前、C++で、引数をポインタで渡す際、引数の中身を関数内で変更されたくないので
引数をconstポインタ型にしてたのに、関数の中でconstをキャストで外すように関数内を
書き換えられてしまっていたことがあります
気にしたらきりがないですね
たしかに、あくまでメモ程度に考えて、気にしなければいいのかもしれません
以前、C++で、引数をポインタで渡す際、引数の中身を関数内で変更されたくないので
引数をconstポインタ型にしてたのに、関数の中でconstをキャストで外すように関数内を
書き換えられてしまっていたことがあります
気にしたらきりがないですね
385デフォルトの名無しさん (アウアウエー Sa52-fG0K)
2021/01/31(日) 11:14:00.48ID:Xb450EhAa >>383
1のことでいいよ
イミュータブルの内容を少し変えたオブジェクトがほしいけどコード書くのめんどくさい問題は昔からあった
昔は言語サポートがなかったのでコード生成で対処していた
新しいC#ではwith構文が追加されたのでこの問題は解決済み
1のことでいいよ
イミュータブルの内容を少し変えたオブジェクトがほしいけどコード書くのめんどくさい問題は昔からあった
昔は言語サポートがなかったのでコード生成で対処していた
新しいC#ではwith構文が追加されたのでこの問題は解決済み
386デフォルトの名無しさん (ワッチョイ 66bb-RNyz)
2021/01/31(日) 11:25:38.47ID:RldRqHno0 ありがとうございます
With構文というのは知りませんでした
With構文というのは知りませんでした
387デフォルトの名無しさん (ワッチョイ 2a01-I+PI)
2021/01/31(日) 12:05:56.26ID:+uTrKl1S0 with式の前にその前提となってるレコード型を調べるといい
388デフォルトの名無しさん (ワッチョイ 66bb-RNyz)
2021/01/31(日) 13:37:12.02ID:RldRqHno0 レコード型とwithについてざっとですがWebで調べてみました。
これらの機能を実際に使うかどうかはともかくとして、イミュータブルにすべきという
指針が得られたのはとても参考になりました。
ありがとうございました。
これらの機能を実際に使うかどうかはともかくとして、イミュータブルにすべきという
指針が得られたのはとても参考になりました。
ありがとうございました。
389デフォルトの名無しさん (ワッチョイ 79de-YX0t)
2021/01/31(日) 14:24:54.16ID:pXICYBtJ0 俺はコードの仕組みまでいじってやるほどの問題ではないと思う
ちょっとした仕様の変更でprivateをpublicにしなければならないときクソ邪魔過ぎて作ったやつ呪うレベル
ちょっとした仕様の変更でprivateをpublicにしなければならないときクソ邪魔過ぎて作ったやつ呪うレベル
390デフォルトの名無しさん (ワッチョイ 662f-unxX)
2021/01/31(日) 15:52:52.73ID:QuI6Fit80 C#で作ったアプリケーションをVS2019でビルドしました。
実行ファイルが作成されたbin>releaseのフォルダに、実行ファイルがあると正常に実行できるのですが、
他のフォルダにコピーすると実行できない(ダブルクリックしても反応しない)
状態です。
なぜなんでしょう?
実行ファイルが作成されたbin>releaseのフォルダに、実行ファイルがあると正常に実行できるのですが、
他のフォルダにコピーすると実行できない(ダブルクリックしても反応しない)
状態です。
なぜなんでしょう?
391デフォルトの名無しさん (ワッチョイ 1eda-vNtm)
2021/01/31(日) 15:55:01.39ID:AZLe64Sd0 releaseフォルダをまるっとコピーしたんか?
exeだけ移動させても、dllが不足してたら動かんぞ
exeだけ移動させても、dllが不足してたら動かんぞ
392デフォルトの名無しさん (ワッチョイ 66bb-RNyz)
2021/01/31(日) 16:02:29.10ID:RldRqHno0393デフォルトの名無しさん (アウアウエー Sa52-fG0K)
2021/01/31(日) 16:24:40.13ID:Xb450EhAa >>389
privateをpublicにするのは構わないがイミュータブルなクラスをミュタブルにするのは絶対に駄目
privateをpublicにするのは構わないがイミュータブルなクラスをミュタブルにするのは絶対に駄目
394デフォルトの名無しさん (ワントンキン MM7a-ovjX)
2021/01/31(日) 16:36:30.32ID:TH60xXxXM >>392
そういう状況になるような設計がそもそも悪い、に一票
他のクラスAの内臓を引き摺り出さないといけないような処理があるなら、それはA自身に持たせるべき
Tell, Don't Ask でググるといい
そういう状況になるような設計がそもそも悪い、に一票
他のクラスAの内臓を引き摺り出さないといけないような処理があるなら、それはA自身に持たせるべき
Tell, Don't Ask でググるといい
395デフォルトの名無しさん (ワッチョイ 662f-unxX)
2021/01/31(日) 17:15:07.79ID:QuI6Fit80396デフォルトの名無しさん (ワッチョイ 662f-unxX)
2021/01/31(日) 17:16:51.45ID:QuI6Fit80 ちょっとやっかいなことになったなぁ・・・
現在tobiiのアイトラッカーは使っていないので、
tobii抜きでビルドしたいのですが、どこで設定しているのかわからないので取り除けません
sdkのアンインストールツールなんてものもなさそうだし・・・
現在tobiiのアイトラッカーは使っていないので、
tobii抜きでビルドしたいのですが、どこで設定しているのかわからないので取り除けません
sdkのアンインストールツールなんてものもなさそうだし・・・
397デフォルトの名無しさん (ワッチョイ 662f-unxX)
2021/01/31(日) 17:19:17.00ID:QuI6Fit80 開発したオブジェクトをtobiiを使っていない旧バージョンのプログラムにコピーしたらうまく行かないかと思ったんですが、
プロジェクト間でオブジェクトのコピーができない・・・
プロジェクト間でオブジェクトのコピーができない・・・
398デフォルトの名無しさん (ワッチョイ 662f-unxX)
2021/01/31(日) 17:57:24.91ID:QuI6Fit80 プロジェクトをまたいでフォームをコピーしようとすると
「この操作のソースファイルがこのソリューションに見つかりません。」
と表示されるのですが、何が悪いのでしょうか?
「この操作のソースファイルがこのソリューションに見つかりません。」
と表示されるのですが、何が悪いのでしょうか?
399デフォルトの名無しさん (アウアウエー Sa52-fG0K)
2021/01/31(日) 18:13:15.24ID:Xb450EhAa >>392
根本的な設計は問題ないよ
例えば注文と注文明細のようにオブジェクトが別のオブジェクトを含むという構造はよくあることだ
それ自体にはなんの問題もない
では何が問題かというとそれは注文明細をミュータブルにしてしまったこと
注文明細をミュータブルにしてしまうと
注文と注文明細の間にあったはずの不変条件を簡単に壊すことができてしまう
根本的な設計は問題ないよ
例えば注文と注文明細のようにオブジェクトが別のオブジェクトを含むという構造はよくあることだ
それ自体にはなんの問題もない
では何が問題かというとそれは注文明細をミュータブルにしてしまったこと
注文明細をミュータブルにしてしまうと
注文と注文明細の間にあったはずの不変条件を簡単に壊すことができてしまう
400デフォルトの名無しさん (ワッチョイ 662f-unxX)
2021/01/31(日) 18:57:41.42ID:QuI6Fit80 C#というかVSではソリューションをまたいでフォームをコピーするとかは不可能なんでしょうか?
またいでコピーすると
「この操作のソースファイルがこのソリューションに見つかりません。」
と表示されコピーできないのですが、これが出来ないとフォームを別アプリとかで再利用できないですよね
コピーできないはずがないだろうと思って調べているのですがやり方が分からい・・・
またいでコピーすると
「この操作のソースファイルがこのソリューションに見つかりません。」
と表示されコピーできないのですが、これが出来ないとフォームを別アプリとかで再利用できないですよね
コピーできないはずがないだろうと思って調べているのですがやり方が分からい・・・
401デフォルトの名無しさん (ワッチョイ 6978-unxX)
2021/01/31(日) 19:36:48.60ID:N+Pm82Ll0 エクスプローラーでファイルをコピーするという発想は無いの?
402デフォルトの名無しさん (ワッチョイ 662f-unxX)
2021/01/31(日) 20:20:00.00ID:QuI6Fit80 >>401
ありがとうございます
知りませんでした・・・
ファイルコピーしたらプロジェク内に表示されましたが、
SDK導入前のプロジェクトにSDK導入後開発したフォームを移植してもうまく動かないですね
SDKを一度導入すると取り除くのは不可能なのか・・・
全く使わないDLLファイルが大量にあるってなんか気持ち悪いですが、我慢するしかないのかな・・・
ありがとうございます
知りませんでした・・・
ファイルコピーしたらプロジェク内に表示されましたが、
SDK導入前のプロジェクトにSDK導入後開発したフォームを移植してもうまく動かないですね
SDKを一度導入すると取り除くのは不可能なのか・・・
全く使わないDLLファイルが大量にあるってなんか気持ち悪いですが、我慢するしかないのかな・・・
403デフォルトの名無しさん (ワッチョイ 66bb-RNyz)
2021/01/31(日) 21:08:22.28ID:RldRqHno0404デフォルトの名無しさん (オッペケ Srbd-Z/xs)
2021/01/31(日) 21:42:41.93ID:1LV1XQdcr405デフォルトの名無しさん (ワッチョイ 5d2d-merL)
2021/01/31(日) 21:49:02.35ID:d4v/P7z60 List<int>の中で最大の数値の個数をLINQで数えたいのですが
どう書いたらいいのでしょうか?
どう書いたらいいのでしょうか?
406デフォルトの名無しさん (ワッチョイ 1eda-vNtm)
2021/01/31(日) 22:20:10.23ID:AZLe64Sd0 >>405
var hoge = new List<int> { 1, 2, 3, 4, 5, 4, 5, 4, 5 };
var maxCount = hoge.Where( x => x == hoge.Max() ).Count();
var hoge = new List<int> { 1, 2, 3, 4, 5, 4, 5, 4, 5 };
var maxCount = hoge.Where( x => x == hoge.Max() ).Count();
407デフォルトの名無しさん (ワッチョイ 662c-xuBi)
2021/01/31(日) 22:20:29.15ID:nDa51Aej0 Max()で最大値取った後Count(x => x == max)すればいいんじゃない普通に
408デフォルトの名無しさん (ワッチョイ 1eda-vNtm)
2021/01/31(日) 22:23:53.17ID:AZLe64Sd0 たしかに、Whereの中にhoge.Max()を書いちゃうと毎回評価されて効率わるいのかな。
すまん
すまん
409デフォルトの名無しさん (ワッチョイ 1e62-zR5L)
2021/01/31(日) 22:24:43.04ID:6uii1UZd0 >>405
GroupByでキーを値、バリューを個数にしたグループを作ってキーで並び替えて最後の行を取得するってのが1回の実行で完結する時の一般的なやり方
GroupByでキーを値、バリューを個数にしたグループを作ってキーで並び替えて最後の行を取得するってのが1回の実行で完結する時の一般的なやり方
410デフォルトの名無しさん (アウアウエー Sa52-qCTK)
2021/01/31(日) 22:24:51.03ID:tsmk7oeqa 計算量と可読性考えた素直に自分で書いた方がよい気がするよw
411デフォルトの名無しさん (ワッチョイ 5d2d-merL)
2021/01/31(日) 22:36:08.49ID:d4v/P7z60 みなさまありがとうございました
GroupBy調べてみます。
GroupBy調べてみます。
412デフォルトの名無しさん (ワッチョイ 8dac-aXb2)
2021/01/31(日) 22:36:31.74ID:jjH+MY7o0 いえいえ
413デフォルトの名無しさん (アウアウエー Sa52-qCTK)
2021/01/31(日) 22:47:04.53ID:tsmk7oeqa LINQというかその乱用者が嫌われる理由の一端を見た気がするw
414デフォルトの名無しさん (ワッチョイ b501-Z/xs)
2021/01/31(日) 23:08:40.21ID:r9k2b4HI0 >>413
あんたがついてけて無いだけ。
あんたがついてけて無いだけ。
415デフォルトの名無しさん (ワッチョイ 79a7-YX0t)
2021/01/31(日) 23:14:50.67ID:8OVECKvh0 ループでMax出しながらカウントも行けると思うんやけど
速度的にもわかりやすさ的にも
絶対こっちのが上やんか?
それに対する反省はないん?
けったいな方法使って性能も悪いなんてなんや最高にダッサイなぁ?
速度的にもわかりやすさ的にも
絶対こっちのが上やんか?
それに対する反省はないん?
けったいな方法使って性能も悪いなんてなんや最高にダッサイなぁ?
416デフォルトの名無しさん (アウアウエー Sa52-qCTK)
2021/01/31(日) 23:36:34.74ID:tsmk7oeqa >>414
これ言ってる本人は語るに落ちてるって気付いてないんだろうねw
KISSの原則とか青臭いこと言いたくないけど、
ダメな人は自分が自己確証を目的にしてる自覚がないからダメなんだな
前にも書いたけどこの業界にはイキってる連中が群がってる技術は
絶対に衰退する法則があるけどそれも上記が理由の一つだねw
これ言ってる本人は語るに落ちてるって気付いてないんだろうねw
KISSの原則とか青臭いこと言いたくないけど、
ダメな人は自分が自己確証を目的にしてる自覚がないからダメなんだな
前にも書いたけどこの業界にはイキってる連中が群がってる技術は
絶対に衰退する法則があるけどそれも上記が理由の一つだねw
417デフォルトの名無しさん (ワッチョイ b501-Z/xs)
2021/02/01(月) 00:28:41.11ID:YBzqaDjv0 >>407
これすら理解できんの?
これすら理解できんの?
418デフォルトの名無しさん (ワッチョイ b602-P+vo)
2021/02/01(月) 00:49:03.93ID:BmIrX0ai0 >>405
dotnet add package System.Interactive
using System;
using System.Collections.Generic;
using System.Linq;
var q = new List<int>() { ... };
var ans = q.MaxBy(x => x).Count();
System.Console.WriteLine(ans);
dotnet add package System.Interactive
using System;
using System.Collections.Generic;
using System.Linq;
var q = new List<int>() { ... };
var ans = q.MaxBy(x => x).Count();
System.Console.WriteLine(ans);
419デフォルトの名無しさん (アウアウエー Sa52-qCTK)
2021/02/01(月) 01:19:51.10ID:LuxfmHdua420デフォルトの名無しさん (ワッチョイ b501-Z/xs)
2021/02/01(月) 01:48:39.77ID:YBzqaDjv0421デフォルトの名無しさん (ワッチョイ 4a52-99pZ)
2021/02/01(月) 07:56:42.00ID:SHJOz7VI0422デフォルトの名無しさん (スププ Sd0a-t37P)
2021/02/01(月) 08:16:36.29ID:iKAM042Ld ループでMax出しながらカウントはListに限って言えばまあ許容範囲内だけど、
IEnumerableに対する処理としては微妙じゃない?
全件かならず読み込む必要があるのと、裏がDBならクエリになって集計だけ行われるのではパフォーマンス差出ると思うが。
そのへん、バックエンドがどう、だからコードはこう、って考えるよりも、Linqで処理して弾力をもたせるってのは有りだと思うけど。
けったいな方法だとは思わん
IEnumerableに対する処理としては微妙じゃない?
全件かならず読み込む必要があるのと、裏がDBならクエリになって集計だけ行われるのではパフォーマンス差出ると思うが。
そのへん、バックエンドがどう、だからコードはこう、って考えるよりも、Linqで処理して弾力をもたせるってのは有りだと思うけど。
けったいな方法だとは思わん
423デフォルトの名無しさん (ワッチョイ 79a7-YX0t)
2021/02/01(月) 08:39:43.77ID:70GW+0Z90 linq使わなきゃワンループ余裕でしょ?
max値更新するときカウンタリセットして同値見つかったらインクリメントすればいいっしょ?
max値更新するときカウンタリセットして同値見つかったらインクリメントすればいいっしょ?
424デフォルトの名無しさん (ワッチョイ 3d24-2oIo)
2021/02/01(月) 08:49:27.91ID:f9q1oLiO0 foreachなら普通にループ一回で済むわな
425デフォルトの名無しさん (アウアウエー Sa52-fG0K)
2021/02/01(月) 08:59:56.25ID:YMWDOp3Pa >>422
DBうんぬんはIQueryableなので関係ない
IEnumerableになってる時点で最も効率がいいのは1回スキャン
ソースが小さいListなら効率は気にしなくていい
ファイル読み込みとかだと無視できないので汎用化したいなら1回スキャンで済むようにするのがLinqのマナー
DBうんぬんはIQueryableなので関係ない
IEnumerableになってる時点で最も効率がいいのは1回スキャン
ソースが小さいListなら効率は気にしなくていい
ファイル読み込みとかだと無視できないので汎用化したいなら1回スキャンで済むようにするのがLinqのマナー
426デフォルトの名無しさん (ワッチョイ 9e8c-JUiw)
2021/02/01(月) 10:06:42.50ID:5LLgSMFp0 a.Aggregate((int.MinValue,0), (cur,next) => cur.Item1 < next ? (next, 1) : (cur.Item1 == next ? (next, cur.Item2 + 1) : cur));
これじゃダメなの?
これじゃダメなの?
427デフォルトの名無しさん (テテンテンテン MM3e-ovjX)
2021/02/01(月) 10:24:56.67ID:laVzODdgM >>426
さすがにこれはひどい
さすがにこれはひどい
428デフォルトの名無しさん (スププ Sd0a-t37P)
2021/02/01(月) 10:26:19.00ID:iKAM042Ld >>425
あ、そうか。納得。
あ、そうか。納得。
429デフォルトの名無しさん (ワッチョイ 1eda-vNtm)
2021/02/01(月) 14:37:18.05ID:PZUYg2ag0430デフォルトの名無しさん (ワッチョイ 2a01-I+PI)
2021/02/01(月) 15:26:59.74ID:DEyQGLil0431デフォルトの名無しさん (ワッチョイ 6610-IZeX)
2021/02/02(火) 20:45:05.39ID:uZjppo1+0 すみません 教えてください
using Windows.System.Diagnostics;
の
SystemCpuUsageReport.UserTime
SystemCpuUsageReport.KernelTime
SystemCpuUsageReport.IdleTime
は それぞれ
ユーザーがCPUを使用していた時間(The amount of CPU user time consumed by the system.)
カーネルがCPUを使用していた時間(The amount of CPU kernel time consumed by the system.)
CPUがアイドルであった時間(The amount of time the CPU was idle.)
となっているのですが、 それぞれ、なにを表しているのでしょうか?
タイマー関数で、1秒ごとに、idoletime+Kernaltime+Usertime の差分をを求めても、
14秒から15秒になってしまうので、単純にな数字ではないと思うのですが、どのような理論で
この数字が出ているのかが皆目わかりません
よろしくお願いいたします。
using Windows.System.Diagnostics;
の
SystemCpuUsageReport.UserTime
SystemCpuUsageReport.KernelTime
SystemCpuUsageReport.IdleTime
は それぞれ
ユーザーがCPUを使用していた時間(The amount of CPU user time consumed by the system.)
カーネルがCPUを使用していた時間(The amount of CPU kernel time consumed by the system.)
CPUがアイドルであった時間(The amount of time the CPU was idle.)
となっているのですが、 それぞれ、なにを表しているのでしょうか?
タイマー関数で、1秒ごとに、idoletime+Kernaltime+Usertime の差分をを求めても、
14秒から15秒になってしまうので、単純にな数字ではないと思うのですが、どのような理論で
この数字が出ているのかが皆目わかりません
よろしくお願いいたします。
432デフォルトの名無しさん (ワッチョイ ea61-JR60)
2021/02/02(火) 21:08:40.40ID:kveRc3Dr0 CPUスレッド数
433デフォルトの名無しさん (ワッチョイ 3933-merL)
2021/02/03(水) 00:26:51.19ID:v8/308I10 publicなプロパティにはxmlコメントを付けると思いますが、
バッキングフィールドってどこに記入してますか?
クラスの先頭付近に書いても、
自動実装プロパティはコード上ではバッキングフィールドは無いし、
納まりが悪いです。
private string _name; //←これどこに書きますか?
/// <summary>名前</summary>
public string Name {
get => _name;
set => _name = value.ToUpper();
}
/// <summary>年齢</summary>
public int Age { get; set; }
バッキングフィールドってどこに記入してますか?
クラスの先頭付近に書いても、
自動実装プロパティはコード上ではバッキングフィールドは無いし、
納まりが悪いです。
private string _name; //←これどこに書きますか?
/// <summary>名前</summary>
public string Name {
get => _name;
set => _name = value.ToUpper();
}
/// <summary>年齢</summary>
public int Age { get; set; }
434デフォルトの名無しさん (アウアウエー Sa52-qCTK)
2021/02/03(水) 01:43:39.37ID:1I0faZoba >>433
質問の趣旨は要するにただ「バッキングフィールドをどこに書くべきか?」それだけ?
自分はスニペットのテンプレのままなのでプロパティー本体の直前に書くけど
そんなの別にどこでもお好みでいいと思うよ。
うるさいがこう書けと言うならおとなしくそれにしたがっておけばいいと思う。
質問の趣旨は要するにただ「バッキングフィールドをどこに書くべきか?」それだけ?
自分はスニペットのテンプレのままなのでプロパティー本体の直前に書くけど
そんなの別にどこでもお好みでいいと思うよ。
うるさいがこう書けと言うならおとなしくそれにしたがっておけばいいと思う。
435デフォルトの名無しさん (ワッチョイ 79a7-YX0t)
2021/02/03(水) 02:41:30.85ID:7CsH6q/40 https://qiita.com/toshi0607/items/801a0d37fb48313cbdbd
C#6.0
自動プロパティ初期化子を与えて、初期値指定ができるようになりました。
public string Name { get; set; } = "Nyanchu"
以下と同意です。
private string _name = "Nyanchu";
public string Name
{
get { return _name; }
set { _name = value; }
}
これでいいんじゃね?
C#6.0
自動プロパティ初期化子を与えて、初期値指定ができるようになりました。
public string Name { get; set; } = "Nyanchu"
以下と同意です。
private string _name = "Nyanchu";
public string Name
{
get { return _name; }
set { _name = value; }
}
これでいいんじゃね?
436デフォルトの名無しさん (ワッチョイ 6d63-B8+7)
2021/02/03(水) 08:22:20.89ID:0ICj5PSn0 何がこれでいいの?質問を理解してる?
437デフォルトの名無しさん (ワッチョイ 6aad-xXvC)
2021/02/03(水) 08:24:12.18ID:qNul9lFK0 久しぶりに触ってんだけど
vs2019でフォームにクラスファイルを追加するときは
右側のプロジェクトウィンドウみたいなところで右クリックして追加ないとダメなんだっけ?
メニューバーのだとただのクラスファイルを作るだけ?
vs2019でフォームにクラスファイルを追加するときは
右側のプロジェクトウィンドウみたいなところで右クリックして追加ないとダメなんだっけ?
メニューバーのだとただのクラスファイルを作るだけ?
438デフォルトの名無しさん (ワッチョイ 79a7-YX0t)
2021/02/03(水) 08:42:49.88ID:7CsH6q/40 >>436
_nameを消したいのかとESP
_nameを消したいのかとESP
439デフォルトの名無しさん (ワッチョイ 8d66-B8+7)
2021/02/03(水) 08:55:41.75ID:9jfq2zZC0440デフォルトの名無しさん (ワッチョイ 79a7-YX0t)
2021/02/03(水) 08:59:26.01ID:7CsH6q/40 そもそも書かなくて良くなるじゃん
set{value=略;}にすれば
なるっけ?
set{value=略;}にすれば
なるっけ?
441デフォルトの名無しさん (ワッチョイ 8d66-B8+7)
2021/02/03(水) 09:03:06.99ID:9jfq2zZC0 書きたくないんじゃなくて書く必要がある場合にどこに書くのか?だろ
勝手に質問変えないで
自動実装プロパティでは不都合があるため自前でバッキングフィールドを用意する、は大前提
勝手に質問変えないで
自動実装プロパティでは不都合があるため自前でバッキングフィールドを用意する、は大前提
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- <櫻坂46松田里奈>ランジェリーカット公開 照れながらTシャツ脱ぐ [ひかり★]
- 【米FRB】0.25%利下げ決定 3会合連続、雇用下支え [蚤の市★]
- テレ朝本社から社外スタッフの男性が転落し死亡 テレビ朝日がコメント [ひかり★]
- 訪米認証「ESTA」、SNS利用情報の提出義務化へ 日本人観光客も対象に [蚤の市★]
- 「身を切る改革」どこへ? 維新「身内」への公金支出、地方でも続々 [蚤の市★]
- テレビ朝日 本社から男性が転落し死亡。関連会社社員か 当たった通行人が左肩軽傷 [阿弥陀ヶ峰★]
- 【画像】東京都民「助けて!満員電車もう無理いいぃぃいいぃぃぃいいいいいぃ😭」!!!! [732289945]
- お前らって議論できないよな
- 【動画】実は外国では「シン・ゴジラ」よりも「ゴジラVSデストロイヤー」のほうが人気があるのです [737440712]
- 【高市 維新万博】 「大阪万博の跡地の開発は国がやれ! 我々は“関与”するだけだ」 関西経済連合会会長、利権だけを求める😨 [485983549]
- 寝る時ちょうどいいYouTubeなんかない?
- 高橋洋一、終わる [523957489]
