40、C#:如何调用外部dll的接口

.如果要用别人dll中的接口,以此来调用别人的服务(别人的服务必须是开启的,而且要能通过expo服务调用到),应该如何做?

1.首先将别人的dll引用到自己的项目中来(添加引用即可)

2.然后将别人的接口添加到项目的apidefine.xml中去,例如:ExpoBuildApiDefine.BuildApiDefineFile(new List<Type>(){  typeof(IConfigManager)});

3.新建.cs文件,定义类ConfigServer,定义接口:static  IConfigManager  _configManager;

4.定义静态构造方法:static ConfigServer(){ InitInterface(); }

5.初始化接口:public static void InitInterface(){  _configManager = Expo.CreateInstance<IConfigManager> ();  }

6.定义公共属性,可以给外部使用:public  static  IConfigManager  Config{ get{ return _configManager; } }

7.比如在本类ConfigServer中定义个方法访问此引用的dll的方法QueryConfig:

public static  List<xxxEntity> QueryCommonConfig( long xxx,  string[] xxxx) {  ExpoReturnMessage<ConfigItemEntity> result = new  ExpoReturnMessage<ConfigItemEntity>;

response = Config.QueryConfig(xxx, xxxx); .....}

这里的Config就是上面定义的公共静态属性,如果在其他类中需要调用此方法,那就用ConfigServer.Config.QueryConfig(xxx, xxxx); 就可以了

注意:所有方法和属性以及字段都要用static静态,因为实例在别人的服务里面,本地的方法和属性就不能是实例的方式,而是静态的方式


关于第7步的说明:如何判定expo返回成功

if(response.IsSuccess() && response.Content.Data != null)

{  if(response.Message.Code == 1) {    .........//进到这里表示调用成功并有返回 } 

    else { .......//调用到服务了,但是出错了}

}

else

{   .......//没有调用到服务}


  

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值