トップページ > プログラム > 2019年11月22日 > k4KfXICB0

書き込み順位&時間帯一覧

2 位/124 ID中時間01234567891011121314151617181920212223Total
書き込み数1110000000013100000000008



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん (ワッチョイ 93bd-AvZR)
デフォルトの名無しさん (ワッチョイ 93bd-AvZR)
776 (ワッチョイ 93bd-AvZR)
ふらっと C#,C♯,C#(初心者用) Part145

書き込みレス一覧

ふらっと C#,C♯,C#(初心者用) Part145
776 :デフォルトの名無しさん (ワッチョイ 93bd-AvZR)[]:2019/11/22(金) 00:36:21.37 ID:k4KfXICB0
長い名前を持つクラスに、thisを返すメソッドがあるとします

 // 超長いクラス名
 class VeryLongLongClassName {

   // thisを返すメソッド
   VeryLongLongClassName Foo( ) {
     return this;
   }
 }

このとき、Foo()の定義につけるクラス名を省略、
あるいは置き換える方法はありますか?

たとえば以下のような形が理想です

 var Foo() { … } // 型推論っぽく書けるとか
 __CLASS__ Foo() { … } //自身のクラスを表す予約語とか
ふらっと C#,C♯,C#(初心者用) Part145
779 :デフォルトの名無しさん (ワッチョイ 93bd-AvZR)[]:2019/11/22(金) 01:39:19.16 ID:k4KfXICB0
ありがとうございます
ないですかー 残念
ふらっと C#,C♯,C#(初心者用) Part145
782 :デフォルトの名無しさん (ワッチョイ 93bd-AvZR)[]:2019/11/22(金) 02:06:03.92 ID:k4KfXICB0
戻り値が特に必要ないメソッドはreturn thisにして繋げれるようにしておこうかなあと
return thisにするか同じクラスをnewするかはさておき
ふらっと C#,C♯,C#(初心者用) Part145
788 :デフォルトの名無しさん (ワッチョイ 93bd-AvZR)[sage]:2019/11/22(金) 11:21:07.27 ID:k4KfXICB0
>>784
そういう話ではない
それだと「変数をvarで定義するのは設計が間違っているからだ」と言ってるようなもん
ふらっと C#,C♯,C#(初心者用) Part145
793 :776 (ワッチョイ 93bd-AvZR)[sage]:2019/11/22(金) 12:21:55.56 ID:k4KfXICB0
なんか結論としては>99の質問と同じような感じになっちゃったけど
最初の質問が微妙に異なるので見落ちとしてた、すまん

>>787
単純に自身と同型のオブジェクトを返すときに、なんかスマートな方法あるのかな?と思っただけ
言語によってはそのへんの仕組みがあったりする

ファイルスコープでのエイリアスが可能なら>>778の言うように
分かりやすいところに ThisClass みたいな名前のエイリアスを用意しておいて
クラス内部では基本的にそっちを使うのもアリかなと思っている
予約語ではないのでエディタとの相性はそこまで良くないけのが欠点か
ふらっと C#,C♯,C#(初心者用) Part145
795 :776 (ワッチョイ 93bd-AvZR)[sage]:2019/11/22(金) 12:29:12.04 ID:k4KfXICB0
>>791
なるほど、確かにそうだな
動的な言語だとまた違うんだろうけど比較できるようなもんでもないしな
ふらっと C#,C♯,C#(初心者用) Part145
796 :776 (ワッチョイ 93bd-AvZR)[sage]:2019/11/22(金) 12:35:32.03 ID:k4KfXICB0
>>794
んだね

アリかナシかで言えばアリだと思ったけど
言語仕様として存在しないなら自分個人ではなるべく避けたいな
ふらっと C#,C♯,C#(初心者用) Part145
800 :776 (ワッチョイ 93bd-AvZR)[sage]:2019/11/22(金) 13:22:21.21 ID:k4KfXICB0
型推論ともちょっと違うからなあ


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。