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 に答える