私の目標は、JavaScriptのコールバックのように、メソッドとしてパラメータとして渡すことができるようにすることですが、戻り値またはその関数のシグネチャを指定しません。私は何ができるJavaScriptで例えばメソッドのシグネチャを指定せずにパラメータとしてメソッドを渡す
:JavaScriptで
FN()は任意の関数型に解釈することができる。
- 関数[戻り値]試験(){}
- 関数[void] test(){}
- 関数[...](arg1、arg2 ...){}
(関数引数のオーバーロードが可能...)
C#では「アクション」と「Func」はあまり提供されていません。 C#では、私は、デリゲートを
を作成することができますし、それがあるデリゲートの種類を指定します。
処置:voidを返す関数へのデリゲート、アクションがポイントになるすべての機能を持っています(正確ではない...)
Func:値を返す関数への代理人、Funcが指すすべての関数には同じ正確な署名(クールではない)が含まれている必要があります。 ..)
オブジェクトを使用すると、私は避けたいと思う高価なボクシング/アンボクシングの話になります。
C#の専門家、私に話し..
答えは「C#はJavaScriptではない」と思います.C#は動的に型付けされたスクリプト言語ではありませんので、1つとして使用しようとしないでください。 – CompuChip
_オブジェクトを使用すると、私は高価なボクシング/アンボクシングstory_ :falseになります。オブジェクトを使用すると、オブジェクトをより具体的なものにキャストする必要があります。キャスティングとボクシングは全く異なる2つのテーマです –
あなたは解決しようとしている問題は何ですか?つまり、メソッド内にデリゲートを取得したら、どのように呼び出す予定ですか? – dasblinkenlight