Cook Computing博客有一篇文章讨论了.NET 4中的动态如何用于创建动态RPC调用。 (帖子:ALTERNATIVE SYNTAX FOR MEMBER CALLS ON C# DYNAMIC TYPES)
帖子显示以下示例:
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端点”。
有没有办法在invoke方法中使用XML-RPC.NET库,还是需要进行HttpWebRequest调用?
由于
答案 0 :(得分:2)
当我写“替代语法...”时,C#中的动态支持刚刚宣布,所以我只是描述了一种可能的实现,以利用这些新功能。
实现“实际上在这里调用XML-RPC端点”需要调用XmlRpcClientProtocol类,尽管这个类需要一些小修改才能以这种方式使用。