字.子字.子字

本文关键字:子字 | 更新日期: 2023-09-27 18:34:57

我是编程新手,所以我不知道术语是什么,我很抱歉。我希望能够写出看起来像这样的东西:

Label Label1 = new Label();
Label1.Text = DateTime.Now.ToString("MM.dd.yyyy");

但是对于我自己的对象:

Reciept ReciptForAirPlaneTicket = new Reciept();
ReciptForAirPlaneTicket.MOP = MOP.CreditCard.Visa("4111111111111111|0815");
Reciept ReciptForFood = new Reciept();
ReciptForFood.MOP = MOP.CreditCard.MasterCard("4222222222222222|0917");
Reciept ReciptForClothes = new Reciept();
ReciptForClothes.MOP = MOP.Cash;
Reciept ReciptForTools = new Reciept();
ReciptForTools.MOP = MOP.Check("12345");

真的不想偷懒,但是我已经找了将近一天了,我什至不知道该找什么。我想我至少需要创建一个类,还需要一个结构或称为枚举的东西,但我真的不知道。

我正在使用 C#。

字.子字.子字

这对我来说似乎是一种不寻常的方法,但要获得确切的语法,您可以使用静态类 MOP 创建一种工厂模式。

public class MethodOfPayment
{
    public enum enumCardType { Visa, Mastercard };
    public enum enumPaymentType { CreditCard, Cash };
    public string Number { get; set; }
    public enumPaymentType PaymentType { get; set; }
    public enumCardType CardType { get; set; }
}
public static class MOP
{
    public static class CreditCard
    {
        public static MethodOfPayment Visa(string number)
        {
            return new MethodOfPayment() { 
                Number = number,
                PaymentType = MethodOfPayment.enumPaymentType.CreditCard,
                CardType = MethodOfPayment.enumCardType.Visa
            };
        }
    }
}

对其他类型重复此操作,然后根据需要实例化。

ReciptForAirPlaneTicket.MOP = MOP.CreditCard.Visa("4111111111111111|0517");