2

Cook Computing 博客有一篇文章讨论了如何使用 .NET 4 中的动态来创建动态 RPC 调用。(帖子:C# 动态类型上的成员调用的替代语法

该帖子显示了以下示例:

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 库,还是需要进行 HttpWebRequest 调用?

谢谢

4

1 回答 1

2

当我写文章“Alternative Syntax…”时,C# 中的动态支持刚刚被宣布,所以我只是描述了利用这些新特性的可能实现。

实现“在此处实际调用 XML-RPC 端点”将需要调用 XmlRpcClientProtocol 类,尽管此类需要进行一些小的修改才能以这种方式使用。

于 2011-07-19T04:39:38.490 回答