0

在下面的 C# 代码中,我试图通过在consoleread方法中实例化它来执行方法中的代码Main。我是 OOP 的完整初学者,它似乎有效,但我只是想确定这是否是正确的方法?

using System;
using System.Collections.Generic;
using System.Text;
using System.IO.Ports;

namespace ConsoleApplication1
{
    class ConsoleRead
    {
        public void consoleread()
        {
            string[] sPorts = SerialPort.GetPortNames();
            foreach (string port in sPorts)
            {
                var serialPort = new SerialPort();
                serialPort.PortName = port;
                serialPort.Open();
                serialPort.WriteLine("ATI");
                var message = Console.ReadLine();
            }
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            ConsoleRead c = new ConsoleRead();
            c.consoleread();
        }
    }
}
4

2 回答 2

1

是的,它是正确的方式。但是您在其中遇到任何问题吗?

于 2012-08-14T11:57:24.843 回答
1

是的,没关系。您有一个带有实例方法的类,因此您实例化该类并针对该实例调用该方法。

现在,对于“这是正确的做法”这个问题,如果没有更多背景知识,这有点难以回答。在您的特定示例中,如果您的应用程序的唯一目标是在串行端口上编写一些字符串而没有任何可重用性问题,那么创建一个仅实例化一次的类可能是无用的,您应该将代码从您的consoleread方法移动到main方法.

于 2012-08-14T11:59:25.590 回答