Show newer

眠いけどせっかくLiveShare設定したのでプログラム書くか

ヒッポロ系ニャポーンみたいな名前のやつ無事予約完了です
余裕で助かる

LiveShareが上手くいくのは確認できた
寝よ

寝なきゃなのにVisualStudioの更新始めちゃった~

もう金曜日でいいだろってくらい疲れてるけど、仕事の進み的には金曜では困りますね

帰ってちょっとおなか痛いねってトイレ入ってるだけで寝る時間が遅くなってしまった
帰ったら息をつく暇もなく寝ないと

うわああああ違う俺が悪かったわ!
これやってくれてるじゃん
でもdynamic書いてあるクラスを別アセンブリに移動させたから動かなくなったんだ!前動いてたのはあってた
いやわかりづれえ仕様とエラーメッセージではあるけど末端のコード以外でdynamic使ったのが悪かったですねはい

Show thread

じゃあdynamic無しで書き直さないとだめかあ
まあちょっとめんどくさい程度だからこの謎挙動を仕様とするよりはマシだが

いやでもdynamicはCallSite作ってるんだからどこから呼ばれてるかはわかるじゃん。
呼びだし元からはこの型は可視だからアクセスできるべきだな?って判断してしかるべきじゃない?まあ遅いかもしんないけどdynamicなんか多少遅いのは仕方ないしキャッシュされるんだから最初の一回だけじゃんねえ。

Show thread

はいはいわかってるわかってる
dynamicなんて誰も使ってない何かの間違いで入れてしまった大失敗機能を使えると思った俺が悪いんだよ

いやまあ動作は全然意味わからんとまではいかないが、でも説明がどこにもないだろうがよ!!説明無しエラーメッセージ実質無しでこの挙動を読み取れは無理だよ!!!

操作対象のクラスはpublicだし呼ぼうとしているメンバーもpublicなのに、ジェネリックパラメーターがpublicじゃないだけで呼べないの意味わからんし、さらに例外メッセージが関係ないの最悪すぎる

Hogeの部分が無名クラスの場合のやつはFAQだったけど無名じゃないしなあと思ってスルーしてた。
internalだからdynamicからはアクセスできないんだって書かれてたけども無名クラスのプロパティがinternalって意味だと思い込んじゃった。型がinternalって意味だったわ。無名クラスのプロパティはpublicだわな

dynamic lst = List<Hoge>();
lst.Clear();
てやったときにHogeがpublicじゃないとClear()のところで'object'に'Clear'なんてメソッドが無いが?て例外投げられる。
こんなのわかるわけねえだろ馬鹿じゃねえの

いや確かに検索したら同じ症状頻繁に出てきてたけどちょっと違ったからいやそれじゃないが?ってスルーしてたわ
てかエラーメッセージがカスすぎるだろ

あああああああマジかよクソがエラーメッセージくらいまともに出せよ馬鹿じゃねえのか!!!

テストでも再現させられた
ジェネリックパラメーターが単純な型じゃない場合に出てる?
stringの時は通ってそうだが……

ちょっと変更する度に超絶ビルドかかってめんどくさいので観念してテスト書いたら通っちゃうっていうね
さっきの例外はどうしたびびってんじゃねえぞおら出てこい!

リフレクションでメソッド取ってきて起動するのはできるんよなあ
ClearだけならそれでもいいんだがAddを起動するのはめんどくせえ

Show older
7144.party

7144民向け