C#, проблема с передачей параметров в точку входа
у меня есть класс Main, в нем различные методы, функционал приложения. есть еще класс programm, в нем точка входа в программу. проблема в том, что в классе main пользователь вводит значения, которые через конструктор присваиваються переменным. И из-за конструктора, при создании экземпляра в static void Main, нужно передавать параметры, которые передаються в конструктор, иначе при создании экземпляра они просто не будут в зоне видимости, но если передать static void main параметры, то это уже не точка входа
using System.Text;
class Main
{
string? name = "";
string? special_ = "";
int? post;
public Main(string name_, string special_, int post_)
{
}
public void Menu()
{
//Get name
while (true)
{
Console.WriteLine("Chooise do:\n\n1.Add\n2.Edit\n3.Delete\n4.View");
string? chooice = Console.ReadLine();
if (chooice == String.Empty || chooice?.Length != 1)
{
Console.WriteLine("Please, enter a correct value");
}
else
{
}
}
}
//Get special
public void Add_new_Employee()
{
while (true)
{
Console.Write("name: ");
string? name_ = Console.ReadLine();
StringBuilder sb = new StringBuilder(name_);
if (name_ == String.Empty || name_?.Length < 2 || Char.IsLower(sb[0]))
{
Console.WriteLine("Enter a correct name");
}
else
{
break;
}
}
bool val = true;
while (val)
{
Console.Write("Chooise special:\n\n1.fronted developer\n2.backend developer\n3.fullstack developer");
string? special_ = Console.ReadLine();
if (special_ != String.Empty)
{
switch (special_)
{
case "1":
special_ = "fronted";
val = false;
break;
case "2":
special_ = "backend";
val = false;
break;
case "3":
special_ = "fullstack";
val = false;
break;
default:
Console.WriteLine("Please, enter a correct value");
break;
}
}
else
{
}
}
while (true)
{
Console.Write("post: ");
string? post0_ = Console.ReadLine();
if (post0_ != String.Empty)
{
try
{
int? post_ = Convert.ToInt32(post0_);
if (post_ >= 0 && post_ <= 11)
{
break;
}
else
{
Console.WriteLine("Sorry, enter a correct value");
}
}
catch
{
Console.WriteLine("Sorry, error converting");
}
}
}
}
public void Save_Data()
{
}
public void Send(string name_, string special_, int post)
{
Main main = new(name_, special_, post);
main.Add_new_Employee();
}
}
class Programm
{
static void Main()
{
}
public void Skip(string name_, string special_, int post_)
{
Main main1 = new(name_, special_, post_);
}
}