0

我是编程新手,所以我不知道术语是什么,我很抱歉。我希望能够编写如下所示的内容:

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#。

4

1 回答 1

0

这对我来说似乎是一种不寻常的方法,但要获得确切的语法,您可以使用静态类 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"); 
于 2012-05-20T23:06:30.090 回答