[過去ログ] C#, C♯, C#相談室 Part96 (1002レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
90
(1): デフォルトの名無しさん (テテンテンテン MMde-gtE8) [sage] 2022/02/13(日) 15:19:09.62 ID:ifSJDHUhM(2/2) AAS
ていうか>>85
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呼び出し時に大変な思いをするだけだからやらん方がいい
ってコンパイル通る?
「>」ひとつ付け忘れとかDictionaryのミススペルはともかくとして、
2つめの書き方でT/TResultの型はどこから決まるんだろう?

それとも
public class MyDictinary<TDelegate> : Dictionary<string, TDelegate> where TDelegate: Delegate { }
を意図してるのだろうか
Func<object, object>をクソと言ってるからには引数1つの制約すらつかなくなるこんなクソ以下の書き方を意図してるとも思えないけど・・・
92: デフォルトの名無しさん (ワッチョイ b7d2-fdHv) [sage] 2022/02/13(日) 15:30:03.46 ID:3OIdnfKh0(4/4) AAS
>>90
携帯からやったから酷いミスしてるのは悪かった

T/TResultの型を決めないならって意図で書いてる
当然Func<object, object>と同じで使うときに酷い目に遭うが

Func<object, object> だと引数型がobjectを受け付けないといけない縛りができるから
「いろんな関数を受け付ける」という要件を満たせない

Delegateだとその縛りはなくなる
ラムダを受け付けられなくなるが
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.040s