C#中,有时候需要对现有的方法进行扩展,从而在自己的程序中使用,先粗略介绍一下
来解释一下。
public static class StringUserExtension
{
public static string UserFormating(this string s) // 如果这儿的s是string类型的,就是对string类型进行扩展
{
return string.Format("I am {0}",s);
}
}
直接上案例
对DateTime进行扩展,DatetimeStyle是一个枚举类型的数据。
public enum DatetimeStyle
{
/// <summary>yyyyMMdd形式</summary>
Date,
/// <summary>yyyy/MM/dd形式</summary>
DateDelimiter,
/// <summary>ddMMyyyy形式</summary>
DateDMY,
/// <summary>dd/MM/yyyy形式</summary>
DateDMYDelimiter,
/// <summary>HHmmss形式</summary>
Time,
/// <summary>HH:mm:ss形式</summary>
TimeDelimiter,
/// <summary>HHmmssfff形式</summary>
Timemillisecond,
/// <summary>yyyyMMddHHmmss形式</summary>
DateTime,
/// <summary>yyyy/MM/dd HH:mm:ss形式</summary>
DateTimeDelimiter,
/// <summary>yyyyMMddHHmm形式</summary>
DateTimeNotSecond,
/// <summary>yyyyMMddHHmmssfff形式</summary>
DateTimef,
}
下边是
// 第一步
public static string ToUserDateFormatString(this DateTime datetime, DatetimeStyle outputformat)
{
// 最终返回转换完成后的数据。
return datetime.ToDateFormatString(outputformat.GetFormatString());
}
// 第二部
public static string ToDateFormatString(this DateTime datetime, string format)
{
// 返回转换成固定格式后的数据
return datetime.ToString(format);
}
在系统中使用:
var strUpdDate = DateTime.Now.ToUserDateFormatString(DatetimeStyle.DateTimeDelimiter);