⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 test.cs

📁 一个小型的ORM框架,写得不好请多多指教
💻 CS
字号:
using System;
using System.Collections.Generic;
using System.Text;
using System.Reflection;
using MiniORMAttribute;

namespace MiniORM
{
    static class Program
    {
        [STAThread]
        static void Main()
        {
            Person person = new Person();
            person.Name = "snoopy";
            person.Age = 5;
            person.Sex = "male";

            PropertyInfo[] infos = person.GetType().GetProperties();
            Console.WriteLine("打印属性:");
            foreach (PropertyInfo info in infos)
            {
                //获取属性并打印
                Console.WriteLine(info.Name + ":" + info.GetValue(person, null));
            }

            Console.WriteLine("设置Person.Name = Hellokitty:");
            //设置属性,设置Name属性
            foreach (PropertyInfo info in infos)
            {
                if (info.Name == "Name")
                {
                    info.SetValue(person, "Hellokitty", null);
                }
            }

            Console.WriteLine("打印属性:");
            foreach (PropertyInfo info in infos)
            {
                //获取属性并打印
                Console.WriteLine(info.Name + ":" + info.GetValue(person, null));
            }

            Console.WriteLine("打印属性 - 数据库字段:");
            object[] objDataFieldAttribute = null;
            foreach (PropertyInfo info in infos)
            {
                objDataFieldAttribute = info.GetCustomAttributes(typeof(DataFieldAttribute), false);
                if (objDataFieldAttribute != null)
                {
                    Console.WriteLine(info.Name + "->数据库字段:" + ((DataFieldAttribute)objDataFieldAttribute[0]).FieldName);
                }
            }
            Console.Read();
        }
    }

    [DataObjectAttribute("Person", "ID", "")]
    public class Person
    {
        private int _ID;
        private string _Name;
        private int _Age;
        private string _Sex;
        private Head _Head;
        private Hand _LeftHand;
        private Hand _RightHand;

        [DataFieldAttribute("ID", true)]
        public int ID
        {
            get { return _ID; }
            set { _ID = value; }
        }

        [SubDataObjectAttribute(SubDataObjectFieldType.Object, "Person", "Person", "Head")]
        public Head Head
        {
            get { return _Head; }
            set { _Head = value; }
        }

        [SubDataObjectAttribute(SubDataObjectFieldType.Object, "Person", "Person", "Hand")]
        public Hand LeftHand
        {
            get { return _LeftHand; }
            set { _LeftHand = value; }
        }

        [SubDataObjectAttribute(SubDataObjectFieldType.Object, "Person", "Person", "Hand")]
        public Hand RightHand
        {
            get { return _RightHand; }
            set { _RightHand = value; }
        }

        [DataFieldAttribute("name", "NvarChar")]
        public string Name
        {
            get { return this._Name; }
            set { this._Name = value; }
        }

        [DataFieldAttribute("age", "int")]
        public int Age
        {
            get { return this._Age; }
            set { this._Age = value; }
        }

        [DataFieldAttribute("sex", "NvarChar")]
        public string Sex
        {
            get { return this._Sex; }
            set { this._Sex = value; }
        }
    }

    [DataObjectAttribute("Hand")]
    public class Hand
    {
        private string _Name;

        [DataFieldAttribute("name", "NvarChar")]
        public string Name
        {
            get { return _Name; }
            set { _Name = value; }
        }
    }

    [DataObjectAttribute("Head")]
    public class Head
    {
        private string _Name;

        [DataFieldAttribute("name", "NvarChar")]
        public string Name
        {
            get { return _Name; }
            set { _Name = value; }
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -