这里不跟大家分享 "类的实例能够继承父类的属性" 这种人人都知道的情况主要分享 "持续抽象过程中,属性值覆盖的问题"由于最近需要使用到SubMail这个信息发送平台, 而这个平台的短信必须以模(mu)板的形式发送, 不能随意编写短信内容, ...
这里不跟大家分享 "类的实例能够继承父类的属性" 这种人人都知道的情况
主要分享 "持续抽象过程中,属性值覆盖的问题"
由于最近需要使用到SubMail这个信息发送平台, 而这个平台的短信必须以模(mu)板的形式发送, 不能随意编写短信内容, 所以根据业务需要我编写了N个模板, 这不是重点
辣么问题来了:(发短信哪家强?) 每个模版的参数都不太一样(模板ID, 参数数量, 参数名), 比如:
您的账号@var(name)已审核通过。欢迎使用@var(sys)
订单@var(order)已付款,@var(name)(@var(tel))将于@var(date)消费
但是身份标识 appid appkey 是一样的, 为了区分变量及常量以及访问级别的问题, 于是我就想到用继承+只读来实现
/// <summary> /// 用于发送时泛型约束的抽象类 /// 发送的方法签名是这样写的: public static bool SendModel<T>(get='_blank'>string target, T model) where T : SubMailModel /// </summary> public abstract class SubMailModel { } /// <summary> /// 对应SubMail身份 /// </summary> public abstract class Base10107 : SubMailModel { const string appid = ""; //身份ID const string appkey = ""; //身份密钥 } /// <summary> /// 模版 /// </summary> public class Template_PaySuccessUser : Base10107 { const string templateID = "DVaVf3"; //模板参数 public string order { get; set; } public string name { get; set; } public string tel { get; set; } }
原标题:继承中的垂直细分知识点:属性继承
关键词:
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。