Динамические типы XML-RPC.NET и C # - PullRequest
2 голосов
/ 18 июля 2011

В блоге Cook Computing есть сообщение, в котором обсуждается, как динамику в .NET 4 можно использовать для создания динамических вызовов RPC. .

В посте показан следующий пример:

using System.Dynamic;

class XmlRpcClient : DynamicObject
{
  string endpoint;

  public XmlRpcClient(string endpoint)
  {
    this.endpoint = endpoint;
  }

  public object Invoke(string methodName, object[] args)
  {
    return 5; // actually make call to XML-RPC endpoint here
  }

  public override bool TryInvokeMember(InvokeMemberBinder binder, object[] args, 
    out object result)
  {
    result = Invoke(binder.Name, args);
    return true;
  }
}

Часть, которую я не понимаю, это комментарий, в котором говорится, что «на самом деле сделать вызов конечной точке XML-RPC здесь».

Есть ли способ использовать библиотеку XML-RPC.NET в методе invoke или вам нужно было бы сделать вызов HttpWebRequest?

Спасибо

1 Ответ

2 голосов
/ 19 июля 2011

Когда я писал пост «Альтернативный синтаксис…», динамическая поддержка в C # была только объявлена, поэтому я просто описывал возможную реализацию, чтобы воспользоваться этими новыми функциями.

Реализация «на самом деле сделать вызов конечной точке XML-RPC здесь» потребует вызова класса XmlRpcClientProtocol, хотя для этого класса потребуются некоторые незначительные изменения, чтобы использовать его таким образом.

...