C#, C♯, C#相談室 Part98 (518レス)
C#, C♯, C#相談室 Part98 http://mevius.5ch.net/test/read.cgi/tech/1719656321/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
299: デフォルトの名無しさん (ワッチョイ df79-0Q8V) [sage] 2024/12/24(火) 19:41:54.52 ID:RgkKZ0Pj0 原発ってただの湯沸かし器じゃん 燃料がちょっとヤバイってだけで高尚なC#のプログラムと比較すんなよ http://mevius.5ch.net/test/read.cgi/tech/1719656321/299
300: デフォルトの名無しさん (スッップ Sdaf-3P54) [sage] 2024/12/25(水) 08:00:53.24 ID:vP0zyznod C#だってただの道具 しかもC#だけじゃお湯も沸かせない 高尚とかちゃんちゃらおかしい http://mevius.5ch.net/test/read.cgi/tech/1719656321/300
301: デフォルトの名無しさん (ワッチョイ 57ef-FEgH) [sage] 2024/12/25(水) 08:26:32.01 ID:ML8x6ihA0 ツールは手段であって目的はアクセシビリティバイパスだから言語レベルのスケールの話な 実際これ求めてる人は少なくないからUnsafeAccessorが実装された訳で てかリフレクションの方が文字列で指定してる分よっぽど危険だと思うんだけどな http://mevius.5ch.net/test/read.cgi/tech/1719656321/301
302: デフォルトの名無しさん (ワッチョイ df79-0Q8V) [sage] 2024/12/25(水) 21:07:50.83 ID:G9TljzDw0 エロがビデオを進化させてきようにチートがソフトウェアを進化させるんだよ 湯沸かししかできない原発野郎は難しいなら黙ってろ http://mevius.5ch.net/test/read.cgi/tech/1719656321/302
303: デフォルトの名無しさん (ワッチョイ 5761-PrDn) [sage] 2024/12/25(水) 21:35:48.64 ID:7oEpQVAc0 煽りたいだけのやつが居着いちゃってるのか、このスレ http://mevius.5ch.net/test/read.cgi/tech/1719656321/303
304: デフォルトの名無しさん (ワッチョイ b310-3P54) [sage] 2024/12/25(水) 21:39:40.34 ID:WXVFxdaX0 いつものことだよあぼーんしときな http://mevius.5ch.net/test/read.cgi/tech/1719656321/304
305: デフォルトの名無しさん (ワッチョイ 832b-8NiF) [sage] 2024/12/25(水) 21:44:21.01 ID:WWJbrOfz0 だぁ~から ドーンおじはコテ付けろや http://mevius.5ch.net/test/read.cgi/tech/1719656321/305
306: デフォルトの名無しさん (ワッチョイ 3ec0-m72+) [sage] 2025/01/01(水) 16:01:04.94 ID:nGCOTvnw0 Enum.IsDefined(enumType, intValue)ってボックス化する? AIに聞いたら最初は「ボックス化しない」とか言われたんだけど、第2引数がobject型として受け取ることを指摘したら「ボックス化するかもしれません」みたいな曖昧な返答されてよく分からなくなってきた http://mevius.5ch.net/test/read.cgi/tech/1719656321/306
307: デフォルトの名無しさん (ワッチョイ 9a8b-tkBd) [sage] 2025/01/01(水) 16:03:34.19 ID:zfs+VkVC0 object型ならするよ .NETのバージョンにもよるけどgeneric版の方が型がコンパイル時解決されるからパフォーマンスは良い http://mevius.5ch.net/test/read.cgi/tech/1719656321/307
308: デフォルトの名無しさん (ワッチョイ 3ec0-m72+) [sage] 2025/01/01(水) 16:07:11.80 ID:nGCOTvnw0 だよね ありがとう http://mevius.5ch.net/test/read.cgi/tech/1719656321/308
309: デフォルトの名無しさん (ワッチョイ 3ec0-m72+) [sage] 2025/01/01(水) 16:23:43.79 ID:nGCOTvnw0 確かにジェネリクスでstruct制約付けたらボックス化回避できそう ありがとう public TEnum ConvertToEnum<TStruct, TEnum>(TStruct value) where TStruct : struct where TEnum : Enum { if (!Enum.IsDefined(typeof(TEnum), value)) throw new ArgumentException(); return Unsafe.As<TStruct, TEnum>(ref value); } http://mevius.5ch.net/test/read.cgi/tech/1719656321/309
310: デフォルトの名無しさん (ワッチョイ 63eb-UqtM) [] 2025/01/01(水) 22:57:38.89 ID:tBHA6FMH0 JetbrainsやILSpyでIL見てboxあるかどうかみればいいんじゃね http://mevius.5ch.net/test/read.cgi/tech/1719656321/310
311: デフォルトの名無しさん (ワッチョイ 9a8b-IJXt) [sage] 2025/01/31(金) 11:32:40.83 ID:jXb+sjQI0 ハック的なことなんだけどインスタンスのオブジェクトヘッダに埋め込まれるクラスハンドルへのポインタ?をインスタンス無しで得る方法って無いかな typeof(MyClass)ってすると正にそのポインタが「mov rcx, 7FFB716DE758 -> call clrのtype取得関数」って感じのアセンブラが生成される訳だけど、その7FFB716DE758を得たいんだよね インスタンスがあればUnsafeライブラリ用いて簡単に得られるのだけど http://mevius.5ch.net/test/read.cgi/tech/1719656321/311
312: デフォルトの名無しさん (ワッチョイ 9a8b-IJXt) [sage] 2025/01/31(金) 11:34:05.08 ID:jXb+sjQI0 文章修正してたら日本語おかしくなったけどもし知ってる方いたらヒントでも何でも教えていただきたい http://mevius.5ch.net/test/read.cgi/tech/1719656321/312
313: デフォルトの名無しさん (ワッチョイ 9714-natb) [sage] 2025/01/31(金) 12:00:57.31 ID:ejyfLYzx0 GetTypeで得られるものとは違うわけ? http://mevius.5ch.net/test/read.cgi/tech/1719656321/313
314: デフォルトの名無しさん (ワッチョイ 9a8b-IJXt) [sage] 2025/01/31(金) 12:51:25.22 ID:jXb+sjQI0 >>313 GetTypeやtypeofで得られるものはあくまでもType型のマネージドインスタンスだから全く違う だけど逆アセをするとtypeof()時には即値でハンドルへのポインタ?がアセンブラコードとして埋め込まれてるので内部的にはめちゃくちゃ簡単に得る方法があるはずなんだよね http://mevius.5ch.net/test/read.cgi/tech/1719656321/314
315: デフォルトの名無しさん (ワッチョイ 9a8b-IJXt) [sage] 2025/01/31(金) 14:52:24.28 ID:jXb+sjQI0 一応自己解決だけどGetTypeやtypeofで得られたTypeインスタンスから「type.TypeHandle.Value」で希望のものは得られた 本来即値で得られるはずなのに冗長でもやもやはするが http://mevius.5ch.net/test/read.cgi/tech/1719656321/315
316: デフォルトの名無しさん (ワッチョイ 1a9d-natb) [sage] 2025/01/31(金) 15:09:15.71 ID:gpRv5mHv0 ChatGPTに聞いたら同じ答えが返ってきたけどRuntimeTypeHandle.Valueは環境によってメソッドテーブルへのポインタじゃなくEETypeへのポインタや実装依存のメタデータへのポインタになる場合もあるから自分で確認しろよとのこと http://mevius.5ch.net/test/read.cgi/tech/1719656321/316
317: デフォルトの名無しさん (ワッチョイ 4e10-EVp+) [sage] 2025/02/01(土) 06:49:44.36 ID:LNgv56j/0 そらJITなんだから・・・ http://mevius.5ch.net/test/read.cgi/tech/1719656321/317
318: デフォルトの名無しさん (ワッチョイ 1a9d-natb) [sage] 2025/02/01(土) 10:13:37.11 ID:m26c//aC0 いやJITは関係ないぞ http://mevius.5ch.net/test/read.cgi/tech/1719656321/318
319: デフォルトの名無しさん (ワッチョイ 9a8b-IJXt) [sage] 2025/02/01(土) 11:06:41.29 ID:dQW8A9nv0 JITだろうが何だろうがconst intなんかは即値で埋め込まれるしね だからクラス名.TypeHandleValueみたいなconst持っててくれたら嬉しいんだけど需要ほぼゼロすぎるか http://mevius.5ch.net/test/read.cgi/tech/1719656321/319
320: デフォルトの名無しさん (ワッチョイ 1a9d-natb) [sage] 2025/02/01(土) 12:12:47.05 ID:m26c//aC0 ん?即値で得られない理由の話だったか そっちならJIT関係あるわな http://mevius.5ch.net/test/read.cgi/tech/1719656321/320
321: デフォルトの名無しさん (ワッチョイ 9a8b-IJXt) [sage] 2025/02/01(土) 12:17:46.65 ID:dQW8A9nv0 いや関係ないよ なぜなら逆アセすれば分かるけど思いっきりレジスタ長以下のconst同様の挙動を見せてるからね typeof時にね http://mevius.5ch.net/test/read.cgi/tech/1719656321/321
322: デフォルトの名無しさん (ワッチョイ 17d7-EVp+) [sage] 2025/02/01(土) 12:48:59.04 ID:MtSj47O+0 逆アセw http://mevius.5ch.net/test/read.cgi/tech/1719656321/322
323: デフォルトの名無しさん (ワッチョイ 4e10-EVp+) [sage] 2025/02/01(土) 12:53:04.51 ID:LNgv56j/0 アドレスとかプロセス起動のたびに変わることは無いんだっけ? http://mevius.5ch.net/test/read.cgi/tech/1719656321/323
324: デフォルトの名無しさん (ワッチョイ 9a8b-IJXt) [sage] 2025/02/01(土) 12:59:03.20 ID:dQW8A9nv0 >>323 .NETの場合は当然変わるしネイティブでも設定次第では変わり得る でもそもそもC#やJavaは実行時にその都度機械語を組み立てて行く訳だから、であればその都度埋め込めばいいだけの話 http://mevius.5ch.net/test/read.cgi/tech/1719656321/324
325: デフォルトの名無しさん (ワッチョイ 4e10-EVp+) [sage] 2025/02/01(土) 13:11:42.17 ID:LNgv56j/0 なら結局、ユーザークラスじゃ都度変わりうるってことじゃ? http://mevius.5ch.net/test/read.cgi/tech/1719656321/325
326: デフォルトの名無しさん (ワッチョイ a36b-natb) [sage] 2025/02/01(土) 15:14:32.83 ID:XDtywhx90 >>321 それはJITやAOT後のものを見てるからでしょ JIT/AOT時に異なる相対アドレスに配置できる余地を残すためにC#/ILの段階では固定しない http://mevius.5ch.net/test/read.cgi/tech/1719656321/326
327: デフォルトの名無しさん (ワッチョイ 3f79-sZTl) [sage] 2025/02/02(日) 01:00:15.78 ID:U03i5Xdj0 ILの段階で定数になるなら決め撃ちで問題ないだろ http://mevius.5ch.net/test/read.cgi/tech/1719656321/327
328: デフォルトの名無しさん (ワッチョイ 7f10-cJwu) [sage] 2025/02/02(日) 06:57:31.12 ID:VLFyjNJe0 ユーザークラスがILの段階で決め打ちになるわけないだろ http://mevius.5ch.net/test/read.cgi/tech/1719656321/328
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 190 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.007s