字.子字.子字
本文关键字:子字 | 更新日期: 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");