http://www.sufeinet.com/plugin.php?id=keke_group

苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

分布式系统框架(V2.0) 轻松承载百亿数据,千万流量!讨论专区 - 源码下载 - 官方教程

HttpHelper爬虫框架(V2.7-含.netcore) HttpHelper官方出品,爬虫框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V2.0) 开源的爬虫类,支持多种模式和属性 源码 - 代码生成器 - 讨论区 - 教程- 例子

查看: 2978|回复: 2

[咨询站长] 不实现接口也能创建出一个接口的实例来?求站长解答

[复制链接]
发表于 2014-12-17 10:13:59 | 显示全部楼层 |阅读模式
1金钱
今天用NuGet下载了一组类库XmlRpc(CookComputing.XmlRpc、Wordpress.Xml.Rpc等),用来访问WordPress网站的XmlRpc服务,下面是Demo代码:
class Program
{
        static void Main(string[] args)
        {
                IXmlRpc ixp = XmlRpcProxyGen.Create<IXmlRpc>();
                ixp.XmlEncoding = new System.Text.UTF8Encoding();
                string hello = ixp.SayHello();
                Console.WriteLine(hello);
        }
}
[XmlRpcUrl("http://www.jkiki.net/xmlrpc.php")]
public interface IXmlRpc : IXmlRpcProxy
{
        [XmlRpcMethod("demo.sayHello")]
        string SayHello();
}
很短的一段代码,就实现了远程调用WordPress的sayHello函数。(类库使用NuGet搜索关键字XmlRpc就能找到)
那么现在问题来了,我只是定义了一个接口“IXmlRpc”,并没有实现它, 使用XmlRpcProxyGen的静态方法Create就能创建一个IXmlRpc实例,而且可以调用其SayHello方法,我很想知道里面细节是怎么实现的,或者说Create究竟做了什么,求站长或各位前辈解答,又或者告诉我其中使用了什么技术,我增加搜索也行。
谢谢!



1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
发表于 2014-12-17 11:48:50 | 显示全部楼层
XmlRpcProxyGen.Create关键在这个里面吧,你看错了吧IXmlRpc接口当然不会定义了,Create在XmlRpcProxyGen里面
回复

使用道具 举报

 楼主| 发表于 2014-12-17 13:24:42 | 显示全部楼层
站长苏飞 发表于 2014-12-17 11:48
XmlRpcProxyGen.Create关键在这个里面吧,你看错了吧IXmlRpc接口当然不会定义了,Create在XmlRpcProxyGen里 ...

IXmlRpc 是我自己定义的一个接口,我没有额外写一个类实现它,但Create能够生成一个实例,就是main方法中的ixp。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|小黑屋|手机版|联系我们|关于我们|广告合作|苏飞论坛 ( 豫ICP备18043678号-2)

GMT+8, 2024-5-29 09:08

© 2014-2021

快速回复 返回顶部 返回列表