zoukankan      html  css  js  c++  java
  • 反射

    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Reflection;
    using CFramework.CAttribute;
    using CData;

    namespace CFramework.PageBase
    {
        public class EntityBase
        {
            public string TableName
            {
                get
                {
                    Type msgType = this.GetType();
                    Type tableNameType = typeof(TableNameAttribute);
                    object[] arr = msgType.GetCustomAttributes(tableNameType, true);
                    TableNameAttribute tnAttribute = arr[0] as TableNameAttribute;
                    return tnAttribute.TableName;
                }
            }

            public Dictionary<string, string> GetDicColumn()
            {
                Type msgType = this.GetType();
                Dictionary<string, string> dicColumn = new Dictionary<string, string>();
                Type columnNameType = typeof(ColumnNameAttribute);
                object[] arr;

                PropertyInfo[] proList = msgType.GetProperties();
                MethodInfo m;
                object rs;
                string strKey = string.Empty;
                string strValue = string.Empty;
                PropertyInfo pro;
                ColumnNameAttribute aa;
                for(int i=0;i<proList.Length ;i++)
                {
                    pro = proList[i];
                    //利用反射取得属性的get方法。
                    m = pro.GetGetMethod();
                    //利用反射调用属性的get方法,取得属性的值
                    rs = m.Invoke(this, null);

                    arr = pro.GetCustomAttributes(columnNameType, true);
                    if (!(arr.Length > 0))
                    {
                        continue;
                    }
                    aa = (ColumnNameAttribute)arr[0];
                    strKey = aa.ColumnName;
                    if (strKey.ToLower() != "id")
                    {
                        dicColumn.Add("c_" + strKey, rs.ToString());
                    }
                    else
                    {
                        Id = rs.ToString();
                    }
                }
                return dicColumn;
            }

            DbHelper dbHelper = new DbHelper();
            #region 属性
     
            private string _id = "";
            public string Id
            {
                get { return _id; }
                set { _id = value; }
            }
            #endregion

            public int Insert()
            {
                return dbHelper.Insert(GetDicColumn(), TableName);
            }

            public int Update()
            {
                return dbHelper.Update(GetDicColumn(), TableName, "id", Id);
            }
        }
    }



    #region Using
    using System;
    using System.Collections.Generic;
    using System.Text;
    using CFramework.CAttribute;
    using CFramework.PageBase;
    #endregion

    namespace Entity
    {
        ///<summary>
        ///资讯 Entity
        ///</summary>
        [Serializable]
        [TableName("News")]
     public class NewsInfo : EntityBase
     {
      public NewsInfo()
      {}
     
         #region 属性
            private int _ID;
            private string _Title;
            private string _Body;
            private string _Source;
            private string _Author;
            private DateTime _CreateDate;
            private int _TypeID;
            private string _Recommend;
            private int _ReadTimes;

            [ColumnName("ID")]
            /// <summary>
            ///
            /// </summary>
            public int ID
            {
                get{return _ID; }
                set{_ID = value;}
            }

            [ColumnName("Title")]
            /// <summary>
            /// 标题
            /// </summary>
            public string Title
            {
                get{return _Title; }
                set{_Title = value;}
            }

            [ColumnName("Body")]
            /// <summary>
            /// 内容
            /// </summary>
            public string Body
            {
                get{return _Body; }
                set{_Body = value;}
            }

            [ColumnName("Source")]
            /// <summary>
            /// 来源
            /// </summary>
            public string Source
            {
                get{return _Source; }
                set{_Source = value;}
            }

            [ColumnName("Author")]
            /// <summary>
            /// 作者
            /// </summary>
            public string Author
            {
                get{return _Author; }
                set{_Author = value;}
            }

            [ColumnName("CreateDate")]
            /// <summary>
            /// 创建日期
            /// </summary>
            public DateTime CreateDate
            {
                get{return _CreateDate; }
                set{_CreateDate = value;}
            }

            [ColumnName("TypeID")]
            /// <summary>
            ///
            /// </summary>
            public int TypeID
            {
                get{return _TypeID; }
                set{_TypeID = value;}
            }

            [ColumnName("Recommend")]
            /// <summary>
            /// 推荐
            /// </summary>
            public string Recommend
            {
                get{return _Recommend; }
                set{_Recommend = value;}
            }

            [ColumnName("ReadTimes")]
            /// <summary>
            ///
            /// </summary>
            public int ReadTimes
            {
                get{return _ReadTimes; }
                set{_ReadTimes = value;}
            }

            #endregion
     }
    }

  • 相关阅读:
    那些优秀的python代码
    ubuntu软件工具推荐
    跨平台APP推荐收藏
    关于python使用的那些事儿
    关于notepad++使用的那些事儿
    关于ubuntu使用的那些事儿
    PyQt4制作GUI
    python操作图片
    杀死进程
    常见配置文件对比
  • 原文地址:https://www.cnblogs.com/xsmhero/p/1537845.html
Copyright © 2011-2022 走看看