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生成的方法类型参数的更多相关文章
- Javassist之使用字节码在运行时生成新的类 01
介绍 Javassist是一个开源的分析.编辑和创建Java字节码的类库.是由东京工业大学的数学和计算机科学系的 Shigeru Chiba (千叶 滋)所创建的.它已加入了开放源代码JBoss 应用 ...
- python 单例模式,一个类只能生成唯一的一个实例,重写__new__方法详解
单例:一个类只能生成唯一的一个实例 每个类只要被实例化了,他的私有属性 '_instance'就会被赋值,这样理解对吗 对 #方法1,实现__new__方法 #并在将一个类的实例绑定到类变量_inst ...
- Python面向对象 --- 新旧式类、私有方法、类属性和类方法、静态方法
一.Python面向对象中的新旧式类 1)新式类(推荐使用):在定义类时,类后边括号里要继承基类(object).在python3.x中若没有指定父类,会默认使用的是object作为基类:在pytho ...
- 动态加载Dll时,通过Type生成类对象
原文:动态加载Dll时,通过Type生成类对象 转:http://www.cnblogs.com/zfanlong1314/p/4197383.html "反射"其实就是利用程序集 ...
- Hibernate的多表查询,分装到一个新的实体类中的一个方法
不知道是否还有其他方法实现,请高人指点. 如果涉及到多张表多字段查询,并且想利用查询出来的字段在界面层构建一个新的实体类,可以使用这种方法: 如果查询出来的多字段中,有多个字段的名字都相同(如想查询出 ...
- eclipse 中main()函数中的String[] args如何使用?通过String[] args验证账号密码的登录类?静态的主方法怎样才能调用非static的方法——通过生成对象?在类中制作一个方法——能够修改对象的属性值?
eclipse 中main()函数中的String[] args如何使用? 右击你的项目,选择run as中选择 run configuration,选择arguments总的program argu ...
- Python进阶----类的结构(公有成员 , 私有成员(私有属性,私有方法),类方法,静态方法,属性) ,isinstance 和issubcalss ,元类(type())
Python进阶----类的结构(公有成员 , 私有成员(私有属性,私有方法),类方法,静态方法,属性) ,isinstance 和issubcalss ,元类(type()) 一丶类的结构细分 ...
- Python面向对象06 /元类type、反射、函数与类的区别、特殊的双下方法
Python面向对象06 /元类type.反射.函数与类的区别.特殊的双下方法 目录 Python面向对象06 /元类type.反射.函数与类的区别.特殊的双下方法 1. 元类type 2. 反射 3 ...
- python 面向对象专题(六):元类type、反射、函数与类的区别、特殊的双下方法
目录 Python面向对象06 /元类type.反射.函数与类的区别.特殊的双下方法 1. 元类type 2. 反射 3. 函数与类的区别 4. 特殊的双下方法 1. 元类type type:获取对象 ...
随机推荐
- Jenkins: 使用Jenkins搭建持续集成(CI)环境
http://www.cnitblog.com/luckydmz/archive/2012/01/03/77007.html 首先从官网http://jenkins-ci.org/下载 Java We ...
- 此三层非彼三层——MVC&UBD
学习了三年编程了,到如今这个阶段,開始接触架构,開始认识架构,怎样设计一个程序的结构,学名称"架构模式"(architectural pattern).个人经历告诉我这在编程中是一 ...
- Gulp.js简介
Gulp.js简介 我们讨论了很多关于怎么减少页面体积,提高重网站性能的方法.有些是操作是一劳永逸的,如开启服务器的gzip压缩,使用适当的图片格式,或删除一些不必要的字符.但有一些任务是每次工作都必 ...
- KMP算法及KMP算法的应用(POJ2406)
///KMP算法#include<bits/stdc++.h> using namespace std; ]; void makeNext(const char P[],int next[ ...
- win7下怎样设置putty免用户名密码登陆
putty是一款好用的远程登录linux服务器软件,但每次输入用户名密码毕竟有些烦人,这里教你免用户名密码登陆. 工具/原料 putty 方法/步骤 去百度下载putty,小巧易用,仅有0.5 ...
- 如何制作python安装模块(setup.py)
Python模块的安装方法: 1. 单文件模块:直接把文件拷贝到$python_dir/lib 2. 多文件模块,带setup.py:python setup.py install 3. egg文件, ...
- Threejs 的场景查看 - 几个交互事件库助你方便查看场景
Threejs 的场景查看 - 几个交互事件库助你方便查看场景 太阳火神的漂亮人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致&q ...
- expression:stream!=NULL
如果fopen()后返回的是NULL:就不能调用fclose()了: 用fopen()获得的文件句柄不是NULL,那么就需要用fclose()来关闭它.如果是NULL则不需要 null就表示你打开文件 ...
- [半原创]指纹识别+谷歌图片识别技术之C++代码
原地址:http://blog.csdn.net/guoming0000/article/details/8138223 以前看到一个http://topic.csdn.net/u/20120417/ ...
- cocos2d-x3.2下使用Umeng 64位SDK注意事项
友盟官方的样例中已经有了Cocos2d-x的Demo使用起来也是比較方便的.但在64位的版本号使用时须要注意 32位SDK改动: 将Xcode中Build Settings的Architectures ...