C# 扩展类与分布类

摘要:
一、扩展类//定义扩展方法publicstaticclassExtsionString{publicstaticstringGetTop10(thisstringvalue){returnvalue.Substring(0,10);}}//调用扩展方法this.CreateTime.GetTop10();二、部分类//////学生类///publicparti

一、扩展类

//定义扩展方法
 public static classExtsionString
    {
        public static string GetTop10(this stringvalue)
        {
            return value.Substring(0, 10);
        }
    }


//调用扩展方法
            this.CreateTime.GetTop10();

二、部分类

 /// <summary>
    ///学生类
    /// </summary>
    public partial classStudentModel
    {
        [DisplayName("编号")]
        public int ID { get; set; }

        [DisplayName("学生姓名")]
        public string Name { get; set; }

        [DisplayName("班级")]
        public string Class { get; set; }

        [DataType(DataType.Text)]
        [DisplayName("性别1-男,0-女")]
        public int Sex { get; set; }

        public string CreateTime { get; set; }

        partial voidOnCreate();
    }
  //要想扩展StudentModel原有属性的信息描述,需要借助如下代码
    [MetadataType(typeof(StudentModelMetadata))]
    public partial classStudentModel
    {
        private classStudentModelMetadata : StudentModel
        {
            [StringLength(100)]
            public string Class { get; set; }
        }

        [StringLength(20,MinimumLength=5,ErrorMessage="请输入正确的邮箱信息")]
        [Required]//必填字段
        [RegularExpression(@"^w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$")]
        public string Email { get; set; }

        [Range(10,40,ErrorMessage="年龄必须在10到40之间")]
        public int Age { get; set; }

        

        partial voidOnCreate()
        {
            this.CreateTime = System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");

            //调用扩展方法
            this.CreateTime.GetTop10();
        }
        
    }

    public static classExtsionString
    {
        public static string GetTop10(this stringvalue)
        {
            return value.Substring(0, 10);
        }
    }

免责声明:文章转载自《C# 扩展类与分布类》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇IMAP和POP3有什么差别?Jmeter做压力测试下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

字符串(二):string

字符串使用方法整理 系列: 字符串(一):char 数组 字符串(二):string string 是 C++ STL 的一个字符串类型,原型是 vector<char> 并对字符串处理做了优化。 1. 声明 首先要包括库文件 #include <string>,这个 <string> 不同于 <cstr...

keepalived 配置文件参数详解

global_defs 全局配置vrrpd1. vrrp_script添加一个周期性执行的脚本。脚本的退出状态码会被调用它的所有的VRRP Instance记录。2. vrrp_sync_group将所有相关的VRRP实例定义在一起,作为一个VRRP Group,如果组内的任意一个实例出现问题,都可以实现Failover3. garp_group4. vr...

Spring Boot中使用Java线程池ExecutorService

1. 认识java线程池 1.1 在什么情况下使用线程池? 1.单个任务处理的时间比较短 2.需处理的任务的数量大 1.2 使用线程池的好处: 1.减少在创建和销毁线程上所花的时间以及系统资源的开销 2.如不使用线程池,有可能造成系统创建大量线程而导致消耗完系统内存 1.3 线程池包括以下四个基本组成部分: 1、线程池管理器(ThreadPool...

(转).NET平台开源JSON库LitJSON的使用方法

一个简单示例: String str = "{’name’:’cyf’,’id’:10,’items’:[{’itemid’:1001,’itemname’:’hello’},{’itemid’:1002,’itemname’:’hello2’}]}";               //*** 读取JSON字符串中的数据 *****************...

【Java】String字符串格式化

一、前言 String.format() 作为文本处理工具,为我们提供强大而丰富的字符串格式化功能,为了不止步于简单调用 String.format("Hello %s", "John");,下面将笔记整理并记录下来。 其实各个语言的字符串格式化方法都是相通的,你可以在其中找到你熟悉的语言的影子,如C语言等。 二、重载方法 // 使用当前本地区域对象(Lo...

Oracle 自定义函数实现列转行效果

在 Oracle 领域,我相信一说到列转行大部分人都会立马想到 WM_CONCAT 函数,我觉得主要是因为该函数比较实用。但事实上 WM_CONCAT 并非官方公开函数,使用会存在一定的风险;函数返回值的格式比较单一(只能用逗号分割);返回值的长度也限制。 在《.Net程序员学用Oracle系列(20):层次查询(CONNECT BY)》一文中,详细讲解了...