[過去ログ] C#, C♯, C#相談室 Part96 (1002レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
86: デフォルトの名無しさん (テテンテンテン MMde-gtE8) [sage] 2022/02/13(日) 14:46:43.73 ID:ifSJDHUhM(1/2) AAS

>>69
69(5): デフォルトの名無しさん (ワッチョイ 37e6-n5CG) [sage] 2022/02/11(金) 22:10:25.35 ID:dtTIM78z0(2/2) AAS
>>66,67
すみませんありがとうございます
Tが色々な型のFuncを登録したいのですがinterfaceの書き方がわかりません
はDictionaryいっこにいろんな引数型/戻り値のFuncを入れたいと言ってるみたいだから>>81
81(2): デフォルトの名無しさん (ワッチョイ 3302-rCQD) [sage] 2022/02/13(日) 12:57:34.90 ID:5Mv4IyiB0(1/7) AAS
>>69
Genericだとコンパイル時点で型決定する必要があるから、色々な型に対応させたいとかなると
>>74が言ってるみたいにobjectにするか、dynamicにでもするしかない
しかないと思うんだけど・・・
引数型/戻り値型毎に別々のDictionaryにするだけなら、たとえば
var dic1 = new Dictionary<string,Func<int, string>>();
var dic2 = new Dictionary<string,Func<int, int>>();
var dic3 = new Dictionary<string,Func<string, string>>();
みたいにT/TResultの組み合わせに応じて別変数にするだけで解決するような・・?
なんでわざわざ>>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呼び出し時に大変な思いをするだけだからやらん方がいい
みたいなclassなりinterfaceなりを作る必要があるのかわからない
90
(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つの制約すらつかなくなるこんなクソ以下の書き方を意図してるとも思えないけど・・・
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.032s