を公開し、これまでのところ、私はこれを使用して、いくつかのメソッドを公開する方法があります。C#のRPC [OK]をAPIメソッド
AddCommand ("UpdateStar", ((args) => {
// do something
}));
それはSortedDictionary<string, SimpleDelegate>
にコマンドを追加します。
public delegate void SimpleDelegate(JSONNode args);
それはJavascriptから私は、引数のリストを送信し、C#で、私はJSONArray
あるJSONNode
を受け、かなりまっすぐ進むです: はここに私のSimpleDelegate
定義です。それは働いているが、それはのようなものを行うには非常に迷惑です:最後に
string name = args[0].Value;
int x = args[1].AsInt;
...
を、私は何をしたいのは、代わりにC#での実際のメソッドの代わりにさらすラムダを公開することです。
言い換えれば、私はこのような何かをしたいと思います:
[expose-to-rpc]
public void AddSystem(string name, int x, int y) {
}
それはメソッドは、引数の数と反射を使用して、引数の型の名前を見つけることができます。私はそれが可能なようなことはかなり確信していますが、私はここで紛失しています。どのように開始するか分からない。
[特定のカスタム属性を持つすべてのメソッドを呼び出すためにリフレクションを使用するにはどうすればよいですか?](http://stackoverflow.com/questions/2831809/how-would-i-use-reflection-to- –
@KeithNicholas私は自分の答えを解決しましたが、メソッドを取得するよりも少し複雑です。パラメータを解析して型を返し、次に変換されたパラメータで実際のメソッドを呼び出す必要があります。 –
ええ、それはかなりまっすぐです、あなたはあなたの質問に応じて始めるために何かを必要としました、それのすべては既にSOで繰り返し尋ねられています:) –