资源简介
本书详细介绍用C#语言进行程序开发需要掌握的知识和技术。全书由浅入深分三大部分,共21章,部分“基础知识”,包括.NET基础知识、C#类型基础、C#的面向对象技术、字符串、垃圾回收、异常处理;第二部分“C#特性”,包括委托和事件、泛型、反射、数据结构、LINQ的相关技术、动态语言运行时;第三部分“多线程和异步”,包括多线程的概念、多线程同步、异步编程理论与实例、任务并行库等。本书精选大量案例,循序渐进地讲解C#语言,内容丰富而翔实,并给出练习题,帮助读者更好地巩固所学知识,提升能力。前言和附录分别给出.NET程序员开发职位要求、技能等级、进阶之路,以及面试宝典,可帮助开发者新人快速进阶,找到适合自己的工作。

代码片段和文件信息
using System;
using System.Data.SqlClient;
using System.Reflection;
using System.Text;
namespace MiniORM
{
public class ORMHelper
{
public string connStr { get; }
public Type type { get; }
public ORMHelper(string s)
{
connStr = s;
}
//根据传入的实体类型建表
public void CreateTable(Type type)
{
var sb = new StringBuilder(200);
//获得表名
var tableName = GetTableName(type);
sb.Append(string.Format(“if not exists (select * from sysobjects where name = ‘{0}‘ and xtype = ‘U‘) “ tableName));
sb.Append(string.Format(“create table [{0}]“ tableName));
sb.Append(“(“);
//获得主键名
var pk = GetPK(type);
//使用反射遍历实体所有的属性
foreach(var property in type.GetProperties(BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public))
{
//获得特性
var attribute = property.GetCustomAttributes(typeof(DataFieldAttribute) false);
var column = (DataFieldAttribute)attribute[0];
if (column.name == pk)
sb.Append(string.Format(“[{0}] {1} IDENTITY NOT NULL PRIMARY KEY“
column.name
column.type));
else
{
sb.Append(string.Format(“[{0}] {1} NOT NULL“
column.name
column.type));
}
}
var sql = sb.ToString().Substring(0 sb.Length-1) + “)“;
//执行方法
ExecuteNonQuery(sql);
Console.WriteLine(“表“ + tableName + “已被建立!“);
}
//插入一个值
public void Insert(object newobject)
{
var type = newobject.GetType();
var tableName = GetTableName(type);
var pk = GetPK(type);
object newobjectPKValue = new object();
//从传入的对象中反射出pk的值
foreach(var property in type.GetProperties(BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public))
{
if (property.Name == pk)
{
//通过GetValue获得值
newobjectPKValue = property.GetValue(newobject);
break;
}
}
//搜索表中是否含有相同PK的记录
if (HasExist(type newobjectPKValue))
{
Console.WriteLine(“表中已有相同PK的记录,不能重复插入!“);
return;
}
var sb = new StringBuilder(200);
sb.Append(“insert into “ + tableName + “ values (“);
//遍历传入的对象的属性,并获得它们的值,用以拼凑INSERT语句
foreach (var property in type.GetProperties())
{
sb.Append(“‘“);
sb.Append(property.GetValue(newobject).ToString());
sb.Append(“‘“);
}
var sql = sb.ToString().Substring(0 sb.Leng
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-09-28 23:07 CodeForCSharpBook-master\
文件 2518 2018-09-28 23:07 CodeForCSharpBook-master\.gitattributes
文件 4305 2018-09-28 23:07 CodeForCSharpBook-master\.gitignore
文件 4992 2018-09-28 23:07 CodeForCSharpBook-master\README.md
目录 0 2018-09-28 23:07 CodeForCSharpBook-master\第10章 反射\
目录 0 2018-09-28 23:07 CodeForCSharpBook-master\第10章 反射\MiniORM\
文件 1095 2018-09-28 23:07 CodeForCSharpBook-master\第10章 反射\MiniORM\MiniORM.sln
目录 0 2018-09-28 23:07 CodeForCSharpBook-master\第10章 反射\MiniORM\MiniORM\
文件 184 2018-09-28 23:07 CodeForCSharpBook-master\第10章 反射\MiniORM\MiniORM\App.config
文件 2347 2018-09-28 23:07 CodeForCSharpBook-master\第10章 反射\MiniORM\MiniORM\MiniORM.csproj
文件 7312 2018-09-28 23:07 CodeForCSharpBook-master\第10章 反射\MiniORM\MiniORM\ORMHelper.cs
文件 1055 2018-09-28 23:07 CodeForCSharpBook-master\第10章 反射\MiniORM\MiniORM\Person.cs
文件 3056 2018-09-28 23:07 CodeForCSharpBook-master\第10章 反射\MiniORM\MiniORM\Program.cs
目录 0 2018-09-28 23:07 CodeForCSharpBook-master\第10章 反射\MiniORM\MiniORM\Properties\
文件 1286 2018-09-28 23:07 CodeForCSharpBook-master\第10章 反射\MiniORM\MiniORM\Properties\AssemblyInfo.cs
目录 0 2018-09-28 23:07 CodeForCSharpBook-master\第10章 反射\ReflectionLab\
文件 184 2018-09-28 23:07 CodeForCSharpBook-master\第10章 反射\ReflectionLab\App.config
目录 0 2018-09-28 23:07 CodeForCSharpBook-master\第10章 反射\ReflectionLab\LateBinding\
文件 184 2018-09-28 23:07 CodeForCSharpBook-master\第10章 反射\ReflectionLab\LateBinding\App.config
文件 2280 2018-09-28 23:07 CodeForCSharpBook-master\第10章 反射\ReflectionLab\LateBinding\LateBinding.csproj
文件 1747 2018-09-28 23:07 CodeForCSharpBook-master\第10章 反射\ReflectionLab\LateBinding\Program.cs
目录 0 2018-09-28 23:07 CodeForCSharpBook-master\第10章 反射\ReflectionLab\LateBinding\Properties\
文件 1294 2018-09-28 23:07 CodeForCSharpBook-master\第10章 反射\ReflectionLab\LateBinding\Properties\AssemblyInfo.cs
文件 1467 2018-09-28 23:07 CodeForCSharpBook-master\第10章 反射\ReflectionLab\Program.cs
目录 0 2018-09-28 23:07 CodeForCSharpBook-master\第10章 反射\ReflectionLab\Properties\
文件 1298 2018-09-28 23:07 CodeForCSharpBook-master\第10章 反射\ReflectionLab\Properties\AssemblyInfo.cs
目录 0 2018-09-28 23:07 CodeForCSharpBook-master\第10章 反射\ReflectionLab\ReflectionGeneric\
文件 184 2018-09-28 23:07 CodeForCSharpBook-master\第10章 反射\ReflectionLab\ReflectionGeneric\App.config
文件 1337 2018-09-28 23:07 CodeForCSharpBook-master\第10章 反射\ReflectionLab\ReflectionGeneric\Program.cs
目录 0 2018-09-28 23:07 CodeForCSharpBook-master\第10章 反射\ReflectionLab\ReflectionGeneric\Properties\
文件 1306 2018-09-28 23:07 CodeForCSharpBook-master\第10章 反射\ReflectionLab\ReflectionGeneric\Properties\AssemblyInfo.cs
............此处省略1054个文件信息
- 上一篇:简易的答题系统
- 下一篇:c#读取txt文档中的代码源程序
相关资源
- C#百度地图源码
- Visual C#.2010从入门到精通配套源程序
- Winform可视化打印模板设计工具含源码
- C# 软件版本更新
- C#屏幕软键盘源码,可以自己定制界面
- 智慧城市 智能家居 C# 源代码
- c#获取mobile手机的IMEI和IMSI
- C#实现简单QQ聊天程序
- 操作系统 模拟的 欢迎下载 C#版
- C#写的计算机性能监控程序
- 用C#实现邮件发送,有点类似于outlo
- MVC model层代码生成器 C#
- c#小型图书销售系统
- C# Socket Server Client 通讯应用 完整的服
- c# winform 自动登录 百度账户 源代码
- C#编写的16进制计算器
- C#TCP通信协议
- C# 数据表(Dataset)操作 合并 查询一
- C#语音识别系统speechsdk51,SpeechSDK51L
- 数据库备份还原工具1.0 C# 源码
-
[免费]xm
lDocument 节点遍历C# - EQ2008LEDc#开发实例
- DirectX.Capturec# winform 操作摄像头录像附
- c# 实现的最大最小距离方法对鸢尾花
- C#版保龄球记分代码
- C#自定义控件
- 基于c#的实验室设备管理系统621530
- C# 使用ListView控件实现图片浏览器(源
- C#简单窗体聊天程序
- C#指纹识别系统程序 报告
评论
共有 条评论