0
我很新的C#& .NET,我写了几个工作的应用程序,但需要移出界面(主管这样说)为更多的项目提供更多模块化的重用。所以,第一个尝试是一个串行接口,如下图所示:初始化SerialPort类的一个新实例,尝试将代码移出接口
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO.Ports;
namespace TestSensor
{
public System.IO.Ports.SerialPort serialPort1 = new SerialPort();
public interface Iserial
{
// guess these are like function prototypes
bool isOpen(int p);
//bool open(int serialInstance, string comPortNo, int baud);
//bool close(int p);
}
public class port : Iserial
{
public bool isOpen(int port)
{
if (port == 1)
{
if (serialPort1.IsOpen) return true;
else return false;
}
else if (port == 2)
{
if (serialPort2.IsOpen) return true;
else return false;
}
else return false;
}
}
}
但我不能找到一种方法初始化串口的新实例没有错误,很多搜索和实验后。当前尝试以上原因导致 “CS0116命名空间不能直接包含成员,如字段或方法” 感谢您的期待!
错误告诉你问题是什么:名称空间不能包含成员,而你的'seralPort1'成员不是类的一部分。将它移动到你的'port'类的一部分,错误就会消失。另外,我不确定你为什么“猜测”事情。开发人员不应该完全确定他们的代码在做什么以及为什么。你应该阅读一些接口。 – itsme86
@ itsme86谢谢,我尝试了很多不同的方式,是的,我现在需要做更多的事情阅读,通常的问题没有足够的时间学习,需要完成工作 – chasher
“猜测”评论更多的是一个笔记当我将数字接口连接到自己时 – chasher