C# newbie here. 이 사용자가 나에게 내 문제에 대한 아주 좋은 솔루션을 준 것처럼C#은 정적 함수에서 참조 할 수 없습니다.
같다 :
을하지만 난 그가 무엇을 제안 최대 코딩하는 방법을 단서가 없다. 너 도와 줄 수있어?
C# newbie here. 이 사용자가 나에게 내 문제에 대한 아주 좋은 솔루션을 준 것처럼C#은 정적 함수에서 참조 할 수 없습니다.
같다 :
을하지만 난 그가 무엇을 제안 최대 코딩하는 방법을 단서가 없다. 너 도와 줄 수있어?
이렇게하면 정상적으로 컴파일됩니다. 물론 thePort
실제 설정을 제공해야합니다.
namespace csWinFormsTest
{
public partial class Form1 : Form
{
static System.IO.Ports.SerialPort thePort;
public Form1()
{
InitializeComponent();
thePort = new System.IO.Ports.SerialPort("COM1");
}
static void fcn()
{
MessageBox.Show(thePort.PortName);
}
}
}
죄송합니다. 원래 코드를 가져 와서이 코드가 어떻게 나타나는지 보여주십시오. –
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private static SerialPort serialPort1;
public class ThreadWork
{
public static void DoWork()
{
serialPort1 = new SerialPort();
//stuff
}
}
private void Form1_Load(object sender, EventArgs e)
{
ThreadStart myThreadDelegate = new ThreadStart(ThreadWork.DoWork);
Thread myThread = new Thread(myThreadDelegate);
myThread.Start();
}
private void serialPort1_DataReceived_1(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
{
string response = serialPort1.ReadLine();
this.BeginInvoke(new MethodInvoker(() => textBox1.AppendText(response + "\r\n")));
}
}
실제로 DoWork() 정적 인 것은 필요하지 않습니다.
그는 한 시간 전에 원래의 질문에 답변했습니다. 조금만 인내심을 갖고 도움을 요청할 때까지 기다립니다. 다른 질문을하는 것이 가장 적절한 방법이라고 생각하지 않습니다. – razlebe
@sgreeve : 나는 혼란을 이해합니다. 때로는 사람들이 새로운 질문을 작성하는 대신 질문을 변경 한 것에 대해 비난을 받기도합니다. – egrunin