zoukankan      html  css  js  c++  java
  • 属性扩展

     属性扩展是在不改动原有属性基础上,给成员变量增加一个新的只读属性,用于展示、显示自己想要的内容样式

    using System;
    using System.Collections.Generic;
    using System.Data.SqlClient;
    using System.Linq;
    using System.Text;
    
    namespace 实体类_数据访问类.App_Code
    {
        public class Users
        {
            SqlConnection conn = null;
            SqlCommand cmd = null;
    
            public Users()
            {
                conn = new SqlConnection("server=.;database=Data0928;user=sa;pwd=123");
                cmd = conn.CreateCommand();
            }
    
    
            private int _Ids;
    
            /// <summary>
            /// ids
            /// </summary>
            public int Ids
            {
                get { return _Ids; }
                set { _Ids = value; }
            }
            private string _UserName;
    
            /// <summary>
            /// 用户名
            /// </summary>
            public string UserName
            {
                get { return _UserName; }
                set { _UserName = value; }
            }
            private string _PassWord;
    
            /// <summary>
            /// 密码
            /// </summary>
            public string PassWord
            {
                get { return _PassWord; }
                set { _PassWord = value; }
            }
            private string _NickName;
    
            /// <summary>
            /// 昵称
            /// </summary>
            public string NickName
            {
                get { return _NickName; }
                set { _NickName = value; }
            }
    
            public string NickAndUser
            {
                get
                {
                    return _NickName + "(" + _UserName + ")";
                }
            }
    
    
            private bool _Sex;
    
            /// <summary>
            /// 性别
            /// </summary>
            public bool Sex
            {
                get { return _Sex; }
                set { _Sex = value; }
            }
    
            public string SexStr
            {
                get
                {
                    return _Sex ? "" : "";
                }
            }
    
    
            private DateTime _Birthday;
    
            /// <summary>
            /// 生日
            /// </summary>
            public DateTime Birthday
            {
                get { return _Birthday; }
                set { _Birthday = value; }
            }
    
            public string BirthdayStr
            {
                get
                {
                    return _Birthday.ToString("yyyy年MM月dd日");
                }
            }
    
    
            private string _Nation;
    
            /// <summary>
            /// 民族
            /// </summary>
            public string Nation
            {
                get { return _Nation; }
                set { _Nation = value; }
            }
    
            public string NationName
            {
                get
                {
                    string end = "<未填>";
                    cmd.CommandText = "select *from Nation where NationCode = @a";
                    cmd.Parameters.Clear();
                    cmd.Parameters.Add("@a",_Nation);
                    conn.Open();
                    SqlDataReader dr = cmd.ExecuteReader();
                    if (dr.HasRows)
                    {
                        dr.Read();
                        end=dr["NationName"].ToString();
                    }
                    conn.Close();
    
                    return end;
                }
            }
    
    
    
    
    
            private string _Class;
    
            /// <summary>
            /// 班级
            /// </summary>
            public string Class
            {
                get { return _Class; }
                set { _Class = value; }
            }
    
            public string ClassName
            {
                get
                {
                    string end = "<无班级>";
    
                    cmd.CommandText = "select *from Class where ClassCode = @a";
                    cmd.Parameters.Clear();
                    cmd.Parameters.Add("@a",_Class);
                    conn.Open();
                    SqlDataReader dr = cmd.ExecuteReader();
                    if (dr.HasRows)
                    {
                        dr.Read();
                        end = dr["ClassName"].ToString();
                    }
                    conn.Close();
                    return end;
                }
            }
    
    
        }
    }
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using 实体类_数据访问类.App_Code;
    
    namespace 属性扩展
    {
        class Program
        {
            static void Main(string[] args)
            {
                List<Users> ulist = new UsersData().Select();
    
                Console.WriteLine("序号   密码   昵称   性别   生日   民族   班级");
                foreach (var u in ulist)
                {
                    Console.WriteLine(u.Ids + "   " + u.PassWord + "   " + u.NickAndUser + "   " + u.SexStr + "   " + u.BirthdayStr + "   " + u.NationName + "   " + u.ClassName);
                }
    
    
                Console.ReadKey();
            }
        }
    }

    这样可以显示出正确的民族 性别 班级等信息 而不是true N003这种样式

    扩展属性使用比较灵活,可以根据实际需求进行各种拼接。

  • 相关阅读:
    C# MessageBox.Show()超时后 自动关闭
    WPF中的依赖属性和附加属性
    c# 获取当前活动窗口句柄,获取窗口大小及位置
    c# 数组间相互转换 int[] string[] object[]
    WPF中判断DataGrid增加复选框和头部全选,以及判断哪一行的checkbox被选中
    WPF DataGridTemplateColumn添加按钮和按钮事件获取行参数
    WPF 自定义分页控件 ---- DataPager
    WPF的MVVM模式给ComboBox绑定数据和读取
    DataBinding 绑定计算表达式
    c# 调用方法超时直接返回的功能
  • 原文地址:https://www.cnblogs.com/wt627939556/p/6120883.html
Copyright © 2011-2022 走看看