C#新建DataColumn类时Type类型参数的生成方式

DataColumn类的几个需要Type类型参数的构造函数如下:

        //
        // 摘要:
        //     使用指定列名称和数据类型初始化 System.Data.DataColumn 类的新实例。
        //
        // 参数:
        //   columnName:
        //     一个字符串,它表示要创建的列的名称。如果设置为 null 或空字符串 (""),则当添加到列集合中时,将指定一个默认名称。
        //
        //   dataType:
        //     支持的 System.Data.DataColumn.DataType。
        //
        // 异常:
        //   System.ArgumentNullException:
        //     未指定任何 dataType。
        public DataColumn(string columnName, Type dataType);
        //
        // 摘要:
        //     使用指定的名称、数据类型和表达式初始化 System.Data.DataColumn 类的新实例。
        //
        // 参数:
        //   columnName:
        //     一个字符串,它表示要创建的列的名称。如果设置为 null 或空字符串 (""),则当添加到列集合中时,将指定一个默认名称。
        //
        //   dataType:
        //     支持的 System.Data.DataColumn.DataType。
        //
        //   expr:
        //     用于创建该列的表达式。有关更多信息,请参见 System.Data.DataColumn.Expression 属性。
        //
        // 异常:
        //   System.ArgumentNullException:
        //     未指定任何 dataType。
        public DataColumn(string columnName, Type dataType, string expr);
        //
        // 摘要:
        //     使用指定名称、数据类型、表达式和确定列是否为属性的值,初始化 System.Data.DataColumn 类的新实例。
        //
        // 参数:
        //   columnName:
        //     一个字符串,它表示要创建的列的名称。如果设置为 null 或空字符串 (""),则当添加到列集合中时,将指定一个默认名称。
        //
        //   dataType:
        //     支持的 System.Data.DataColumn.DataType。
        //
        //   expr:
        //     用于创建该列的表达式。有关更多信息,请参见 System.Data.DataColumn.Expression 属性。
        //
        //   type:
        //     System.Data.MappingType 值之一。
        //
        // 异常:
        //   System.ArgumentNullException:
        //     未指定任何 dataType。
        public DataColumn(string columnName, Type dataType, string expr, MappingType type);

C#的几个与类型Type有关的几个语句

1、typeof
typeof是个运算符,typeof(类型)。例如typeof(bool)、typeof(int)、typeof(System.Windows.Forms.TextBox)
2、Type.GetType(类型名)。这个类型名是string型,加引号的。
3、Object.GetType()。Object类的成员,c#的类对象都有此方法。
上面3个都返回System.Type。

具体使用示例:

        private void Form1_Load(object sender, EventArgs e)
        {
            try
            {
                dt = new DataTable();
                dt.Columns.Add(new DataColumn("one", System.Type.GetType("System.Double")));
                //System.Type.GetType(TypeCode.Double.ToString())这种方式不能用
                dt.Columns.Add(new DataColumn("two", System.Type.GetType("System.Double")));
                dt.Columns.Add(new DataColumn("three", typeof(Double)));
                dt.Columns.Add(new DataColumn("four", (1D).GetType()));

                Random rnd = new Random();
                for (int i = 0; i < 10; i++)
                {
                    dt.Rows.Add(new object[] { (Double)rnd.Next(1, 234923745), (Double)rnd.Next(1, 234923745), (Double)rnd.Next(1, 234923745), (Double)rnd.Next(1, 234923745) });
                }

                dt.DefaultView.Sort = "one ASC,two ASC";

                dataGridView1.DataSource = dt.DefaultView;
            }
            catch (System.Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

源码下载:c#DataGridView数据绑定示例 多列混合排序

C#新建DataColumn类时Type类型参数的生成方式

时间: 2024-08-05 11:09:07

C#新建DataColumn类时Type类型参数的生成方式的相关文章

C#新DataColumn类Type生成的方法类型参数

DataColumn有的需要等级Type构造类型的参数,如以下: // // 摘要: // 使用指定列名称和数据类型初始化 System.Data.DataColumn 类的新实例. // // 參数: // columnName: // 一个字符串,它表示要创建的列的名称. 假设设置为 null 或空字符串 (""),则当加入到列集合中时.将指定一个默认名称. // // dataType: // 支持的 System.Data.DataColumn.DataType. // //

新建一个DataTable如何手动给其添加多条数据!

早晨起来,想起昨天利用winform做类似于sqlserver数据库导入数据功能的时候,用到了新建一个DataTable手动给其添加多条数据,平时用不到,需要的时候想不起来了,这次不妨把他记下来.以下是代码,很简单. //声明并实例化datatable DataTable dt = new DataTable(); //实例化三个列            DataColumn dc1 = new DataColumn("factoryName",System.Type.GetType(

C# 类型参数的约束

在定义泛型类时,可以对客户端代码能够在实例化类时用于类型参数的类型种类施加限制.如果客户端代码尝试使用某个约束所不允许的类型来实例化类,则会产生编译时错误.这些限制称为约束.约束是使用 where 上下文关键字指定的.下表列出了六种类型的约束:               约束                           说明             T:结构 类型参数必须是值类型.可以指定除 Nullable 以外的任何值类型. T:类 类型参数必须是引用类型,包括任何类.接口.委托或

ASP.NET5:“Type”未包含“GetProperties”的定义

在VS2015中,C#中的反射技术中的一些方法,是不包含在DNX Core 5.0中的,如果直接创建ASP.NET5项目,并使用反射会报如下错误: 严重性 代码 说明 项目 文件 行 错误 CS1061 “Type”未包含“GetProperties”的定义,并且找不到可接受第一个“Type”类型参数的扩展方法“GetProperties”(是否缺少 using 指令或程序集引用?) WebApplication3.DNX Core 5.0 D:\visual studio 2015 Proje

管理员技术(六): 硬盘分区及格式化、 新建一个逻辑卷、调整现有磁盘的分区、扩展逻辑卷的大小、添加一个swap分区

一.硬盘分区及格式化 问题: 本例要求熟悉硬盘分区结构,使用fdisk分区工具在磁盘 /dev/vdb 上按以下要求建立分区: 1> 采用默认的 msdos 分区模式        2> 第1个分区 /dev/vdb1 的大小为 200MiB        3> 第2个分区 /dev/vdb2 的大小为 2000MiB        4> 第3个分区 /dev/vdb3 的大小为 1000MiB 完成分区后,能够配置开机自动挂载 /dev/vdb2 分区: 1> 文件系统类型

新建DataTable

//创建DataTable DataTable dt = new DataTable("NewDt"); //创建自增长的ID列 DataColumn dc = dt.Columns.Add("ID", Type.GetType("System.Int32")); dc.AutoIncrement = true; //自动增加 dc.AutoIncrementSeed = 1; //起始为1 dc.AutoIncrementStep = 1; /

Hibernate的继承映射

何为继承映射: 继承映射:对于面向对象的程序设计语言而言,继承和多态是两个最基本的概念.Hibernate 的继承映射可以理解持久化类之间的继承关系.例如:人和学生之间的关系.学生继承了人,可以认为学生是一个特殊的人,如果对人进行查询,学生的实例也将被得到. 继承映射的分类:Hibernate支持三种继承映射策略: 使用 subclass 进行映射:将域模型中的每一个实体对象映射到一个独立的表中,也就是说不用在关系数据模型中考虑域模型中的继承关系和多态.(数据看起来会很模糊,因为子类和父类的数据

Java开发中的23种设计模式详解(转)

设计模式(Design Patterns) --可复用面向对象软件的基础 设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了可重用代码.让代码更容易被他人理解.保证代码可靠性. 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖石一样.项目中合理的运用设计模式可以完美的解决很多问题,每种模式在现在中都有相应的原理来与之对应,每一个模式描述了一个在我们周

深入详解DataTable

在学习DataTable知识之前,我们有必要了解下ADO.NET.以下摘自MSDN: ADO.NET 对 Microsoft SQL Server 和 XML 等数据源以及通过 OLE DB 和 XML 公开的数据源提供一致的访问.数据共享使用者应用程序可以使用 ADO.NET 来连接到这些数据源,并检索.处理和更新所包含的数据.ADO.NET 通过数据处理将数据访问分解为多个可以单独使用或一前一后使用的不连续组件.ADO.NET 包含用于连接到数据库.执行命令和检索结果的 .NET Frame