[過去ログ] C#, C♯, C#相談室 Part96 (1002レス)
上下前次1-新
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
82(1): デフォルトの名無しさん (ワッチョイ b7d2-fdHv) [sage] 2022/02/13(日) 14:18:56.36 ID:3OIdnfKh0(1/4) AAS
>>81嘘教えんな
ジェネリクス定義側はFunc<T, TResult>みたいにコンパイルに型決まってないだろうが
Func<object, object> とかいうクソみたいな型を使わせようとするな
85(3): デフォルトの名無しさん (ワッチョイ b7d2-fdHv) [sage] 2022/02/13(日) 14:40:38.46 ID:3OIdnfKh0(2/4) AAS
いろんな型のFuncを受け付けるようにするならそれ用のclassを作ってしまった方が手っ取り早い
public class MyDictinary<T, TResult> : Dictinary<string, Func<T, TResult>{...}
Funcをなんでも受け付けるようにするなら
public class MyDictinary<TDelegate> : Dictinary<string, Func<T, TResult> where TDelegate: Delegate {...}
どうしてもinterfaceにしなくちゃいけないなら
public interface IMyDictinary<T, TResult> : IDictinary<string, Func<T, TResult>{...}
ごちゃ混ぜのFuncを受け付けるようにするとFunc呼び出し時に大変な思いをするだけだからやらん方がいい
88: デフォルトの名無しさん (ワッチョイ b7d2-fdHv) [sage] 2022/02/13(日) 14:54:01.04 ID:3OIdnfKh0(3/4) AAS
マジで1つのインスタンスに別の型のdelegateが入ればなんでもいい前提なん?
取り出して呼び出すときに引数/返り値型調べないといけないが
92: デフォルトの名無しさん (ワッチョイ b7d2-fdHv) [sage] 2022/02/13(日) 15:30:03.46 ID:3OIdnfKh0(4/4) AAS
>>9090(1): デフォルトの名無しさん (テテンテンテン MMde-gtE8) [sage] 2022/02/13(日) 15:19:09.62 ID:ifSJDHUhM(2/2) AAS
ていうか>>85ってコンパイル通る?
「>」ひとつ付け忘れとかDictionaryのミススペルはともかくとして、
2つめの書き方でT/TResultの型はどこから決まるんだろう?
それとも
public class MyDictinary<TDelegate> : Dictionary<string, TDelegate> where TDelegate: Delegate { }
を意図してるのだろうか
Func<object, object>をクソと言ってるからには引数1つの制約すらつかなくなるこんなクソ以下の書き方を意図してるとも思えないけど・・・
携帯からやったから酷いミスしてるのは悪かった
T/TResultの型を決めないならって意図で書いてる
当然Func<object, object>と同じで使うときに酷い目に遭うが
Func<object, object> だと引数型がobjectを受け付けないといけない縛りができるから
「いろんな関数を受け付ける」という要件を満たせない
Delegateだとその縛りはなくなる
ラムダを受け付けられなくなるが
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.041s