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调用?
谢谢
最佳答案
当我写文章“ Alternative Syntax…”时,才刚刚宣布了C#中的动态支持,因此我只是在描述一种可能的实现,以利用这些新功能。
实现“实际上在此处对XML-RPC端点进行调用”将需要对XmlRpcClientProProcol类的调用,尽管该类需要进行一些小的修改才能以这种方式使用。
关于c# - XML-RPC.NET和C#动态类型,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6735291/