Home  >  Article  >  Backend Development  >  Detailed explanation of the sample code for generating Type type parameters when creating a new DataColumn class in C#

Detailed explanation of the sample code for generating Type type parameters when creating a new DataColumn class in C#

黄舟
黄舟Original
2017-03-13 17:48:332110browse

Several constructors of the DataColumn class that require Type type parameters are as follows:

        //
        // 摘要:
        //     使用指定列名称和数据类型初始化 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);

Several statements related to type Type in C

#1. typeof
typeof is a Operator, typeof(type). For example, typeof(bool), typeof(int), typeof(System.Windows.Forms.TextBox)
2, Type.GetType (type name). This type name is of string type, enclosed in quotes.
3, Object.GetType(). Members of Object class, and c# class object all have this method.
The above three all return System.Type.

Specific usage examples:

        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);
            }
        }

The above is the detailed content of Detailed explanation of the sample code for generating Type type parameters when creating a new DataColumn class in C#. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn