小编Dav*_*ave的帖子

我的OOP方法似乎错了 - 必须检查班级

我有一台我将要连接的设备,该连接可以通过TCP/IP或串行连接.我正在编写一个模拟配置数据的类,其中一个配置选项是有关该连接的信息.

串行连接具有CommPort,BaudRate,Parity等配置设置.TCP/IP连接将具有主机和端口.

所以很明显我将要有Seri​​alConnectionInfo和TcpConnectionInfo类.但这些类是Equipment类的成员.

我似乎应该有一些主ConnectionInfo类或接口,但问题是虽然这两个类在概念上相似,但它们不共享任何公共字段.所以像下面这样的东西似乎没有任何意义:

interface IConnectionInfo {
}

class SerialConnectionInfo : IConnectionInfo {
  string CommPort;
}

class TcpConnectionInfo : IConnectionInfo {
  string Host;
}

class Equipment {
  IConnectionInfo Connection;
}
Run Code Online (Sandbox Code Playgroud)

可以做类似的事情,但是在某些时候我肯定要检查Connection是哪个类,并将其转换为正确的类.一切都闻错了.有人有什么想法吗?

c# oop data-structures

3
推荐指数
1
解决办法
87
查看次数

标签 统计

c# ×1

data-structures ×1

oop ×1