Как передать параметр в метод

Вопрос следующий. У нас есть метод, который открывает окно оплаты, первым аргументом мы передаем сумму, а вторым нужно передать источник оплаты. Можно было бы передать просто строку. Но как я понимаю, правильно было бы передать параметр.

 public partial class Pay : Form
    {
        private Context Context = new Context();

        public Pay()
        {
            InitializeComponent();
        }

        public static DialogResult Open(decimal Amount, PaySource Source)
        {
            var form = new Pay();
            form.ShowDialog();

            return form.DialogResult;
        }
    }

    public struct PaySource
    {

    }

Как мне правильно сделать так, что бы я мог сделать так.

Pay.Open(666, PaySource.FromWorkShop)

Или

Pay.Open(666, PaySource.FromKassa)

То есть это должно быть что то вроде

System.Drawing.Color.Red

Ответы (1 шт):

Автор решения: UniverstM
public enum PaySource
{
  FromWorkShop,
  FromKassa
}
public Pay()
{
   InitializeComponent();
}

public static DialogResult Open(decimal Amount, PaySource Source)
{
     if(Source.FromWorkShop)
     {
         // Что то делаете
     }
     elseif(Source.FromKassa)
     {
         // Что то делаете 
     }
     var form = new Pay();
     form.ShowDialog();
     return form.DialogResult;
}

Использование: Open(100, PaySource.FromWorkShop);

→ Ссылка