일부 사용자는 C#의 다른 클래스에서 인스턴스화하고 개체를 처리하는 방법을 알려줄 수 있습니까?한 클래스의 개체를 다른 인스턴스로 인스턴스화
처음 세 문자열 변수 (secureID, EmailAddress 및 PhoneNum)를 다른 클래스에 배치하고이 클래스의 값을 할당하려고합니다. C++에서는 친구 클래스를 사용하고 C#과 같은 것을 찾을 수 없습니다.
또한 설명 :이 코드를 갖고 싶습니다
:
static string SecureId;
static string EmailAddress;
static string PhoneNum;
과 자신의 클래스에 넣습니다. 공용 클래스 myMsg를 호출 할 수 있습니다. 아래 클래스 프로그램에서 myMsg을 설치하고 그 필드에 값을 myMsg.SecureId = strDataParse [0]처럼 할당 할 수 있습니다. 클래스 프로그램을 통해 myMsg 필드에 액세스하는 데 문제가 있습니다. 희망이 도움이됩니다.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Net;
using System.Net.Sockets;
namespace EmailSMSSocketApp
{
class Program
{
static string SecureId;
static string EmailAddress;
static string PhoneNum;
static byte[] Buffer { get; set; }
static Socket _socket;
static void Main(string[] args)
{
_socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
_socket.Bind(new IPEndPoint(IPAddress.Any, 1234));
_socket.Listen(100);
Socket accepted = _socket.Accept();
Buffer = new byte[accepted.SendBufferSize];
int bytesRead = accepted.Receive(Buffer);
byte[] formatted = new byte[bytesRead];
for (int i = 0; i < bytesRead; i++)
{
formatted[i] = Buffer[i];
}
string strData = Encoding.ASCII.GetString(formatted);
//Console.Write(strData + " ASCII to strData" + "\r\n");
string[] strDataParse = strData.Split(',');
foreach (string word in strDataParse)
{
// Console.WriteLine(word);
SecureId = strDataParse[0];
EmailAddress = strDataParse[1];
PhoneNum = strDataParse[2];
};
Console.WriteLine(SecureId + " Outside loop");
Console.WriteLine(EmailAddress + " Outside loop");
Console.WriteLine(PhoneNum + " Outside loop");
Console.Read();
_socket.Close();
accepted.Close();
}
}
}
생성자에 전달합니다. 나는 단 하나의 클래스를 본다. 귀하의 질문과 관련이있는 코드로 코드를 좁힐 수 있습니까? – BradleyDotNET
언급 한 변수는 정적입니다. 그것들은 클래스 변수이므로 Program 클래스의 인스턴스를 생성 할 필요가 없습니다. Program.SecureId와 같은 것을 사용하여 액세스 할 수 있어야하지만 getter 및 setter를 정의해야합니다. –
나는 이것에 대해 좀 더 명확히하려고 노력했다. 도움이되는지 알려주세요. –