首页 新闻 会员 周边 捐助

统一通信接口的问题

0
[已解决问题] 解决于 2017-02-10 14:21

我现在要写串口跟LAN的通信,之前是使用的两个类在完成,现在我觉得通信都是连接、写、读、断开,我就想使用接口来统一这两种通信的方式。
但是我发现在连接的时候,串口需要传递如串口号、波特率、校验和等,LAN需要传递IP和端口。
这个时候我不知道接口应该如何写才好。感觉写起来很冗余啊。

 

public interface Icommu{
    public int com;//COM口号
    public int BaudRate;//波特率
    public int Parity;//校验和

    public int ip;//IP
    public int port;//port

    public bool Iconncet;//连接
    public bool Iwrite;//写
    public bool Iread;//读
    public bool Iclose;//断开
}

是否有个方法能将属性的接口分离出来,在真正使用的时候才用到,而不用都写到接口中?


明爷的主页 明爷 | 初学一级 | 园豆:9
提问于:2016-12-20 19:50
< >
分享
最佳答案
1

连接字符串,Open,Stream(XX Read,XX Writer),Close(IDisposable)

奖励园豆:5
花飘水流兮 | 专家六级 |园豆:13615 | 2016-12-20 20:08

是什么意思是啊?看不太懂哦,能否再具体一点呢?

明爷 | 园豆:9 (初学一级) | 2016-12-21 08:46

@明爷: 

abstract class ConnectionBase:IDisposable

{

  public astract ConnectionString{get;set;}

  操作抽象为Stream来操作;此处省略

  public void Send(T t)

  public event T OnRecieved;

  public abstract void Open();

  public abstract void Close();

  public abstract Dispose();

}

花飘水流兮 | 园豆:13615 (专家六级) | 2016-12-22 20:52

@花飘水流兮: 

public astract ConnectionString{get;set;}

 

这个ConnectionString代表什么啊?

串口的连接、网络的连接都转换成ConnectionString??

明爷 | 园豆:9 (初学一级) | 2017-01-05 08:59
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册